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
什么的?您可以 JOIN
在 Company.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 = '....')
有人可以帮助解决我面临的 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
什么的?您可以 JOIN
在 Company.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 = '....')