[英]error 1052 im trying to join tables using inner join however i keep getting this message
[英]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.