这没问题
select user.`username` , id_user_gender.text gender
from user
left join id_user_gender
on user.idGender = id_user_gender.id
where 1
这也没问题
select user.`username` , user.idType
from user,id_user_type
where user.idType=id_user_type.id
但这是错误的:#1054-'on子句'中的未知列'user.idGender'
select user.`username` , id_user_gender.text gender, user.idType
from user,id_user_type
left join id_user_gender
on user.idGender = id_user_gender.id
where user.idType=id_user_type.id
如何使用左联接以及在同一查询中的何处联接?
我也尝试过,但是没用
select uu.`username` , id_user_gender.text gender, uu.idType
from user as uu,id_user_type
left join id_user_gender
on uu.idGender = id_user_gender.id
where uu.idType=id_user_type.id
答案 0 :(得分:2)
你不知道。您将{em> all JOIN
逻辑放在FROM
所属的JOIN
子句中:
select u.`username`, iug.text gender, u.idType
from user u join
id_user_type iut
on u.idType = iut.id left join
id_user_gender iug
on u.idGender = iug.id;
简单规则:从不在FROM
子句中使用逗号。 始终使用正确的,明确的,标准 JOIN
语法。