SQL - Return 来自子子查询的字段
SQL - Return field from sub sub query
如何从 ug1 table 中取回第二个姓名字段?
select ug.name, ug.email, ug
from user_group as ug
where ug.id in (SELECT gm.id_user FROM group_member as gm
where id_group in (SELECT ug1.id from user_group as ug1
where ug1.btype='g'
and ug1.group_type_handle = 'leaversys'))
如果需要以下字段,请使用 join
而不是 in
:
select ug.name, ug.email, . . .
from user_group ug join
group_member gm
on ug.id = gm.id_user join
user_group ug2
on gm.id_group = ug2.id
where ug2.btype = 'g' and ug2.group_type_handle = 'leaversys';
这并不完全相同,因为它会产生多行。但是,我怀疑这不会成为您的问题。
现在您可以从三个表中包含您想要的任何列。
如何从 ug1 table 中取回第二个姓名字段?
select ug.name, ug.email, ug
from user_group as ug
where ug.id in (SELECT gm.id_user FROM group_member as gm
where id_group in (SELECT ug1.id from user_group as ug1
where ug1.btype='g'
and ug1.group_type_handle = 'leaversys'))
如果需要以下字段,请使用 join
而不是 in
:
select ug.name, ug.email, . . .
from user_group ug join
group_member gm
on ug.id = gm.id_user join
user_group ug2
on gm.id_group = ug2.id
where ug2.btype = 'g' and ug2.group_type_handle = 'leaversys';
这并不完全相同,因为它会产生多行。但是,我怀疑这不会成为您的问题。
现在您可以从三个表中包含您想要的任何列。