我有4个表 tbl_user, tbl_usedetails,tbl_aboutme,tbl_looking 包含不同用户的详细信息 . 这四个表共有一个名为 userid 的字段 . 我想用 userid 加入这四个表 .
将我的用户ID视为3
tbl_user 是始终存在 userid
的根表 . But in other tables, userid may or may not be present.
我尝试了以下查询,但它获取 userdetails
, userid
不等于3
select *
from `tbl_user` as u,
`tbl_usedetails` as ud,
`tbl_aboutme` as a,
`tbl_looking` as l
where (u.`userid`=ud.`userid` OR a.`userid`=l.`userid` )
AND (u.`userid`='3')
tbl_usedetails 没有 userid 3的行,但是它包含另一行 userid 13,执行查询时它也会将行与 userid 13连接起来 .
3 回答
问题不是100%清晰明确,但我认为你想从其他表中获取值 . 如果三个表中的用户不存在行,则仍需要其他表的结果 . 这是
LEFT JOIN
,如下:尝试外连接,以便即使辅助表中没有数据也可以获取数据 .
添加条件
ud table