admin

列名不正确

sql

我有2个表中的select命令的问题。

所以我有table1与:

table1_id = int pk;    
table1_name;   
table1_surname;   
table1_age;    
table1_address;   
table1_city;

和table2具有:

table2_id int pk   
table1_id int fk references table1.table1_id;   
table3_id;  
table2_description;

当我编写下面的select语句时,出现模棱两可的列名table1.table1_name错误:

SELECT table2.table2_id, table2.table1_id, table1.table1_name, table2.table2_description
from table1,
     table2 inner join
     table1
     on table2.table1_id = table1.table1_id;

老实说,我不明白这是怎么回事?


阅读 130

收藏
2021-06-07

共1个答案

admin

如果我正确理解,您在下面的行中有问题

from table1, table2

在上面的代码中,您使用的是CROSS JOIN介于table2和之间的值,table1这在您的情况下不是必需的。

如下更改您的查询。

SELECT table2.table2_id, table2.table1_id, table1.table1_name, table2.table2_description 
from  table2 
 inner join table1 on table2.table1_id = table1.table1_id;
2021-06-07