2013-11-21 59 views
0

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

嘗試在from子句中的表之間使用'CROSS JOIN'。不要以爲你可以在同一查詢中使用ansi連接和舊式 – adrianm

回答

0

你應該在加入報表中單獨指定的表。如果我正確理解您的查詢,那麼你應該能夠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 
+0

Hi Sam。之所以將它添加在一起,是因爲這個愚蠢的錯誤。我原本是把它作爲你提到的內部連接,但我嘗試了各種其他方式來讓它們相互連接,但是卻無法像這樣工作。 –

0

我也面臨着同樣的錯誤,我查詢的一個,但我是用兩個表在FROM子句中。然後我從查詢的FROM子句中刪除了一個表,並將其用作JOIN和錯誤消失。希望這會幫助某人。

相關問題