【问题标题】:Why am I getting a "Multi-part Identifier could not be bound" error?为什么我收到“无法绑定多部分标识符”错误?
【发布时间】:2013-11-21 11:43:48
【问题描述】:

我最近开始使用 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

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

谢谢:)

【问题讨论】:

  • 在 from 子句中的表之间尝试CROSS JOIN。不要以为你可以在同一个查询中使用 ansi joins 和 old style

标签: sql reporting-services


【解决方案1】:

您应该在连接语句中单独指定表。如果我正确理解您的查询,那么您应该能够 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

【讨论】:

  • 嗨,山姆。将它彼此相邻添加的原因是因为这个愚蠢的错误。就像你提到的那样,我最初确实将它作为内部连接,但我尝试了各种其他方法来使事物相互连接,但无法让它像那样工作。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-16
    • 2018-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    相关资源
    最近更新 更多