加入选择

时间:2012-06-25 13:49:12

标签: sql sql-server join

如何将此查询加入单选(无临时表)?

SELECT  t2.value,
        t1.value
    FROM table0 t1
    INNER JOIN table1 t3 on t1.idrelation = t3.id and t3.idparent=@id
    INNER JOIN table2 t2 on t2.idversion = t3.idchild and t2.name = 'FOO'
    ORDER BY t1.value

SELECT SELECT COALESCE(t4._NAME+','+'') 
FROM table1 t1
JOIN table1 t2 on t2.idparent = t1.idchild
JOIN table1 t3 on t3.idparent = t2.idchild
JOIN table3 t4 on t4._ID = t3.idchild
WHERE t1.idparent = @id
AND t4._TYPE ='TXT_CAT'

2 个答案:

答案 0 :(得分:1)

这样的东西会有所帮助(一旦你可以告诉你要加入的列):

select *
from
(
    QUERY 1
) q1
join
(
    QUERY 2
) q2
on q1.key1 = q2.key2

答案 1 :(得分:0)

如果你想加入他们,必须有共同或不常见的基础。

将2个选择放在一起是加入结果集时的简单部分,但除非你想要Ans1和Ans2的所有排列,否则确定某种where子句以使其更有效是明智的,并且为你缩小范围。

如果你提供更多的表格信息,我们可以调整并给你更多的东西,但这是我们能做的最好的事情,而不会对你想要在这里完成的事情进行任意的猜测。

我可以分享给你的一件事:

 Select A.name, B.id from (Select A.name, A.date from A) join (Select B.id, B.date from B) on A.date = B.date;