-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 句を決定し、それを絞り込むことが賢明です。あなたのために。

より多くのテーブル情報を提供していただければ、調整してさらに何かを提供できる可能性がありますが、ここで達成しようとしていることについて恣意的な推測をせずにできる最善の方法です.

私があなたに手放すことができる1つのこと:

 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 に答える