SQL SSRS 报告查询 Visual Studio 查询设计器

SQL Query for SSRS Report Visual Studio Query Designer

有人可以帮助解决我面临的 SQL 查询。

目前我正在为我的 SSRS 报告使用 Visual Studio 2013 查询设计器,并且我正在尝试 select 在他们当前学校注册的学生。但是,在测试我对 selected 学生的查询时,它会返回所有可能的学校,并说该学生已经参加了所有 317 所学校,这是不正确的。我的问题是如何找到学生 attended/attending 的学校?

查询代码如下:

SELECT Person.Firstname, Person.Surname, Company.Name AS School, Company.CompanyCategory, Student.StudentNumber
FROM   Student INNER JOIN
       Person ON Student.ID = Person.ID CROSS JOIN
       Company
WHERE  (Company.CompanyCategory = 'Delivery Location') AND (Student.StudentNumber = '....')

正如 Sandeep 提到的,您正在交叉加入 Company(我假设这是学校?)。您可能必须 INNER JOIN 到 Company 并指定 JOIN 子句。 table Student 可能有 CompanyID 什么的?您可以 JOINCompany.ID 上。 所以查询变成这样:

SELECT Person.Firstname, Person.Surname, Company.Name AS School, Company.CompanyCategory, Student.StudentNumber
FROM   Student INNER JOIN
       Person ON Student.ID = Person.ID INNER JOIN
       --Not sure if CompanyID is the right field
       Company ON Student.CompanyID = Company.ID
WHERE  (Company.CompanyCategory = 'Delivery Location') AND (Student.StudentNumber = '....')