我有三个单独的查询,用于根据变量选择用户。每个用户都有一个唯一的用户ID,在每个表上受查询影响。有没有办法,使用PHP,我只能选择返回所有三个查询的用户?
答案 0 :(得分:0)
假设必须独立运行3个查询,您可以使用union查询将三个invididual结果集集中到一个集合中,然后执行外部查询以检查哪些userID有3个不同的源:
select count(SOURCE) as cnt, userID
from (
select 'tableA' as SOURCE, userID
from tableA
where ...
union all
select 'tableB' as SOURCE, userID
from tableB
where ...
union all
select 'tableC' as SOURCE, userID
from tableC
where ...
) as subquery
group by userID
having cnt = 3
答案 1 :(得分:0)
是的,使用公共字段在所有三个表上进行内连接。
例如:
Select cola, colb
From tablea join tableb
On a.commoncolumn=b.commoncolumn
Join tablec on a.commoncolumn=c.commoncolumn
Where ...