我在使用Microsoft SQL 2012 Server Management Studio的Transact-SQL中遇到'Ambiguous column name'問題。Transact-SQL歧義列名
我一直在尋找已經發布在Stackoverflow上的一些答案,但它們似乎不適用於我,而其中的一部分我根本就不理解或失去了一般的看法。
執行下面的腳本:
USE CDD
SELECT Artist, Album_title, track_title, track_number, Release_Year, EAN_code
FROM Artists AS a INNER JOIN CD_Albumtitles AS c
ON a.artist_id = c.artist_id
INNER JOIN Track_lists AS t
ON c.title_id = t.title_id
WHERE track_title = 'bohemian rhapsody'
觸發以下錯誤信息:
消息209,級別16,狀態1,行3 不明確的列名 'EAN_code'。
這並不是說這是一個包含藝術家名稱,專輯名稱和曲目列表的CD數據庫。表'CD_Albumtitles'和'Track_lists'都有一列,具有相同的EAN代碼。 EAN代碼是用於唯一標識CD專輯的重要國際代碼,這就是爲什麼我想繼續使用它。
似乎'EAN_code'存在於兩個表中。只需指定您需要從哪個表中選擇該列即可。即'a.EAN_code' –