簡體   English   中英

嘗試使用內部聯接將 3 個表聯接在一起時出現錯誤 1052

[英]Getting Error 1052 When trying to join 3 tables together with inner join

我在使用內部連接將 3 個表連接在一起時遇到問題。 表格如下。

mysql> SELECT * FROM tbldvdactors;

演員 名稱 名稱
1 瓦爾 基爾默
2 約翰尼 德普
3 約翰 克里斯
4 邁克爾 基頓
5 羅伊 沙伊德

mysql> SELECT * FROM tbldvdtitles;

ASIN 標題 價格
6304711905 墓碑 1.95
783229526 恐懼和厭惡在拉斯維加斯 8.46
B00005O3VC 巨蟒與聖杯 8.88
B001CCIRG4 甲蟲汁 9.60
B007STBUHI 7.62

mysql> SELECT * FROM tblrelantionships;

ASIN 演員
6304711905 1
783229526 2
B0000503VC 3
B001CCIRG4 4
B007STBUHI 5

這是我正在使用的命令

    mysql> SELECT ASIN, Title, ACTOR_ID, FName, LName, Price
    -> FROM tblrelantionships
    -> INNER JOIN tbldvdtitles
    -> ON tblrelantionships.ASIN = tbldvdtitles.ASIN
    -> INNER JOIN tbldvdactors
    -> ON tblrelantionships.ACTORID = tbldvdactors.ACTORID;
    ERROR 1052 (23000): Column 'ASIN' in field list is ambiguous

在此先感謝你們提供的任何幫助。

ASIN 列在多個表中定義,因此您必須明確選擇一個。
使用表別名使查詢更短,更容易閱讀恕我直言。

SELECT 
   tt.ASIN, tt.Title, ta.ACTOR_ID, ta.FName, ta.LName, tt.Price
FROM tblrelantionships tr
INNER JOIN tbldvdtitles tt 
   ON tr.ASIN = tt.ASIN
INNER JOIN tbldvdactors ta 
   ON tr.ACTORID = ta.ACTORID;

在第一行,您應該指定從中選擇字段 ANSI 的表。 試試這個:

 mysql> SELECT tblrelantionships.ASIN, Title, ACTOR_ID, FName, LName, Price
-> FROM tblrelantionships
-> INNER JOIN tbldvdtitles
-> ON tblrelantionships.ASIN = tbldvdtitles.ASIN
-> INNER JOIN tbldvdactors
-> ON tblrelantionships.ACTORID = tbldvdactors.ACTORID;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM