为什么我得到“多部分标识符无法绑定”错误?

时间:2013-11-21 11:43:48

标签: sql reporting-services

我最近开始使用SSRS报告,但我很难理解为什么会出现以下错误:

"The multi-part identifier 'ST.ProvinceID' could not be bound".

我理解错误的含义,但我不明白为什么它在这种情况下不起作用。我在生活中构建了很多SQL语句,但出于某种原因(我还需要弄清楚),SSRS SQL报告并不总是像普通的SQL查询一样工作。

以下是我的SSRS报告执行代码:

SELECT DISTINCT [P].[Title], ST.Branch_CourtName, COUNT(DISTINCT UI.ID) AS NumUsers
FROM ITS___Structural_Location_Details ST, [User_Information_Maintenance] [UI]
JOIN [Province] [P]
ON [P].[ID] = ST.ProvinceID
WHERE ST.ProvinceID = UI.Province
GROUP BY ST.Branch_CourtName

我已经仔细检查了我的表名和列名的所有拼写。如果你删除JOIN它可以工作,但我不明白为什么它在这个实例中不起作用。

这是所有3个表的快速结构。

Province:  | ITS___Structural_Location_Details:   | User_Information_Maintenance
ID         | ID                                   | ID
Title      | ProvinceID                           | Province

对此有任何帮助将不胜感激。

谢谢:)

2 个答案:

答案 0 :(得分:0)

您应该在join语句中单独指定表。如果我正确理解您的查询,那么您应该能够INNER JOIN您的User_Information_Maintenance表并删除WHERE子句..

SELECT DISTINCT [P].[Title]
              , ST.Branch_CourtName
              , COUNT(DISTINCT UI.ID) AS NumUsers
FROM ITS___Structural_Location_Details ST
INNER JOIN [Province] [P]
   ON [P].[ID] = ST.ProvinceID
INNER JOIN [User_Information_Maintenance] [UI]
   ON UI.Province = P.ProvinceId
GROUP BY ST.Branch_CourtName

答案 1 :(得分:0)

我也遇到了同样的错误,我的查询之一,但我在FROM子句中使用了两个表。然后我从查询的FROM子句中删除了一个表,并将其用作JOIN并且错误消失了。希望这会对某人有所帮助。