首页 > 解决方案 > 尝试将 3 个表与内部连接连接在一起时出现错误 1052

问题描述

我无法使用内部连接将 3 个表连接在一起。表格如下。

mysql>SELECT * FROM tbldvdactors;

演员表 名称 名称
1 瓦尔 基尔默
2 约翰尼 德普
3 约翰 克莱斯
4 迈克尔 基顿
5 罗伊 谢德

mysql>SELECT * FROM tbldvdtitles;

亚信 标题 价格
6304711905 墓碑 1.95
783229526 恐惧和厌恶在拉斯维加斯 8.46
B00005O3VC 巨蟒与圣杯 8.88
B001CCIRG4 甲虫汁 9.60
B007STBUHI 7.62

mysql>SELECT * FROM tblrelantionships;

亚信 演员表
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

提前感谢你们可以提供的任何帮助。

标签: mysql

解决方案


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;

推荐阅读