我有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;
老实说,我不明白这是怎么回事?
如果我正确理解,您在下面的行中有问题
from table1, table2
在上面的代码中,您使用的是CROSS JOIN介于table2和之间的值,table1这在您的情况下不是必需的。
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;