Sql 将多个SELECT查询获取到单个结果集中

Sql 将多个SELECT查询获取到单个结果集中,sql,sql-server-2005,Sql,Sql Server 2005,我有多个join SQL查询,我想返回一个结果集: e、 g 结果集应该是 a b x y ---------- 2 abc 3 4 你可以这样做,但你会有一个笛卡尔积 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 如果每个

我有多个join SQL查询,我想返回一个结果集:

e、 g

结果集应该是

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

你可以这样做,但你会有一个笛卡尔积

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

如果每个表中有两行,a/b中的哪一行与x/y中的哪一行对应?如果a/b中有三行,x/y中只有两行,会发生什么情况?这也有可能。我能知道其他方法吗?因为每个sql查询都会附加where条件。然后您需要问一个完整的问题。我们已经发现了两件您遗漏的事情,但尚未实际描述。
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