2011-06-29 64 views
0

我有多个连接SQL查询,我想返回单个结果集:获取多个SELECT查询到单个结果集中

例如,

select t1.a, t2.b from test t1. 
join test2 t2 on t1.c =t2.d 

select t3.x, t4.y from test3 t3. 
join test4 t4 on t3.p =t4.q 

结果集应该是

a b x y 
---------- 
2 abc 3 4 
+1

如果每个表中有两行,a/b中的哪一行与x/y中的哪一行一致?如果a/b中有三行并且x/y中只有两行,会发生什么情况? –

+0

这可能也可能 – Rawan

回答

0

你可以做这样的事情,但你将有一个笛卡尔乘积。

select t1.a, 
     t2.b, 
     t3.c, 
     t4.d 
from test1 t1 
join test2 t2 on t1.c=t2.d 
join test3 t3 on 1=1 
join test4 t4 on t3.p=t4.q 
+0

我可以知道任何替代方法吗?因为会有条件附加到每个SQL查询。 – Rawan

+0

然后你需要问一个完整的问题。我们已经发现了两件你遗漏并且尚未真正描述的东西。 –

相关问题