-1

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

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'
4

2 回答 2

1

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

select *
from
(
    QUERY 1
) q1
join
(
    QUERY 2
) q2
on q1.key1 = q2.key2
于 2012-06-25T13:54:07.220 回答
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; 
于 2012-06-25T13:56:52.740 回答