0
私は、次の作業のクエリを持っている:Oracleのピボット列
WITH pivot_data AS (
select PSGROUP,
PSCOLUMN as PSCOLUMN
FROM LOG_PS_STATUS
)
SELECT *
FROM pivot_data
PIVOT (
MAX(NULL) --<-- pivot_clause
FOR PSCOLUMN--<-- pivot_for_clause
IN (&PS_COLUMNS.) --<-- pivot_in_clause
);
予想通りそれは結果を示しています
値:
PSGroup PSColumn
A 1
A 2
A 3
B 1
B 2
B 3
C 3
結果のような与えている:
PSGroup(縦方向)PSColoumn(横方向)
1 2 3
A
B
C
今私はPSColumnのグループとしてPSGroup列を作りたいと、出力は次のようにする必要があります:あなたはLISTAGGを使用することができます
A
1 2 3
B
1 2 3
C
3
クエリを説明してください –
@Muhammad Muazzamサブクエリ 'res'で私はPSGroupによってグループ化され、次にすべてのグループで、PSColumnの昇順のスペース順で区切ってPSColumn値を連結します。今私はこのような3つのレコードを持っています 'A 1 2 3'最後のクエリでは、すべての行を2に分割します。最初は列PSGroup、2番目の連結されたPSColumnのみを持ちます。 –