我最近开始使用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
对此有任何帮助将不胜感激。
谢谢:)
答案 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并且错误消失了。希望这会对某人有所帮助。