我有5张如下表
user
id name
11 rajesh
12 kumar
group
id name
21 sales
22 dev
domain
id name
51 network
52 database
user_group
user_id group_id
11 21
user_domain
user_id domain_id
12 51
我需要检索属于至少一个组或域的所有用户。这是我用来连接两个表的查询。
select user.name from user join user_domain on user.id=user_domain.user_id
我可以加入表用户和组。但与此同时我还需要加入用户和域名。当我尝试下面的结果时,我的结果为零。
select user.name from user
left join user_group on user.id=user_group.user_id
join user_domain on user.id=user_domain.user_id
如果我改为左边加入,就像下面一样,我得到了所有用户。
select user.name from user
left join user_group on user.id=group.user_id
left join user_domain on user.id=user_domain.user_id
请告知
答案 0 :(得分:1)
这还不够吗?
SELECT `id`
FROM `user` JOIN `user_group` ON `user`.`id` = `user_group`.`user_id`
UNION
SELECT `id`
FROM `user` JOIN `user_domain` ON `user`.`id` = `user_domain`.`user_id`;