我试图离开join 3表,但出现以下错误
“#1066-非唯一表/别名:'uid'”
我尝试了一些我在网上找到的建议,比如使用别名 tbl_add_unit.uid AS UnitUID
但那没用。
我的代码是:
SELECT tbl_add_unit.uid, tbl_add_rent.r_unit_no, tbl_add_electricity_bill.unit_no
FROM tbl_add_unit, tbl_add_rent, tbl_add_electricity_bill
LEFT JOIN tbl_add_unit.uid ON tbl_add_rent.r_unit_no
LEFT JOIN tbl_add_unit.uid ON tbl_add_electricity_bill.unit_no;
4条答案
按热度按时间unftdfkk1#
在您的查询中,似乎有用逗号分隔的表。我假设您只想加入这些表来获取信息。只需使用join语句并为每个表指定别名即可。
iklwldmw2#
你很接近了,让我们的目标更接近于:
这假设连接中的内容是真的,因此:tbl\u add\u unit.uid=tbl\u add\u rent.r\u unit\u no和tbl\u add\u unit.uid=tbl\u add\u electrical\u bill.unit\u no。如果是真的,就可以开始了。
wfveoks03#
放弃join操作的老式逗号语法。这些逗号相当于
JOIN
关键字。通常,有一个用于匹配表的条件,在ON
条款。看起来我们可能在寻找一个结果集,类似于这样的查询返回的结果:
问题是什么?
ttvkxqim4#
连接的一般语法应该是。。。