2
OracleクエリをSQL Server 2008バージョンに変換する際に問題が発生しました。このOracleクエリーでは、LISTAGG
とconnect by prior
が使用されます。私はWITH AS()
たちはSTUFF()
を使用することができますSQL Server 2008のLISTAGG
代替のための2008年OracleクエリをSQL Server 2008に変換
また、SQL Serverのconnect by prior
同等であることを見つけるためにウェブを研究しました。しかし、私はこれらの2つのロジックを1つに統合するのが困難に直面しています。私を助けてください。私が試した解決策は間違っているようです。クエリT2
の両方でここ
with n(col1, col2) as
(
select T1.c1, '/' + T1.c2
from table1 T1,
where T1.c1 = T2.c3
union ALL
select T3.c1, '/' + T3.c2
from table1 as T4,T3
where T4.c3 = T3.c1
)
select col2 from n;
に使用されているTable2
の基準とされています
SELECT
(LISTAGG(T1.c2, '/') WITHIN GROUP (ORDER BY T1.c1))
FROM
Table1 T1
START WITH T1.c1 = T2.c3
CONNECT BY PRIOR T1.c3 = T1.c1
これは私が試した解決策は次のとおりです。
ここは、Oracleのクエリです外部クエリ。
例:私は呼ば
Select
.....,
.....,
.
.
(
select (LISTAGG(T1.c2, '/') WITHIN GROUP (ORDER BY T1.c1))
FROM Table1 T1
start with T1.c1 = T2.c3
connect by prior T1.c3 = T1.c1
) as ABC,
'
'
'
From
Table A,
Table B,
.
.
Table T2
リンク::