0
變化值的數目我有一個情況我需要值轉換成一排源表顯示爲COLUMN_NAMES和創造在target.I這些列的動態case語句有這個下面的示例查詢做那(1/2方式)。我的問題是,我可能會在源行2CODES或3CODES或5CODES以上的價值觀和我的目標表結構(沒有列)應該像明智的創建。創建從源
請幫我解決任何用於動態創建基於源值無列。我曾嘗試下面的情況下語句,並試圖看到的,我們可以使用最大/最小功能上ROW_NUMBER來解決這個問題(只是盲目的思想)
請指點。
如:
源表SSS
NAME ID CODE
AAA 1 XXX
BBB 2 YYY
CCC 3 PPP
AAA 1 YYY
AAA 1 PPP
目標:TGT
NAME ID XXX YYY PPP
AAA 1 A A A
CCC 3 N N A
BBB 2 N A N
從單排多個值轉換爲多列對於給定的ID
這是什麼我試過了:
insert into fat
select id,
max(case when rownum = 1 then val else '' end),
max(case when rownum = 2 then val else '' end),
max(case when rownum = 3 then val else '' end),
max(case when rownum = 4 then val else '' end)
from long_ordered
group by id
select * from fat
select id, va11 as val from fat
union all select id, va12 from fat
union all select id, va13 from fat
union all select id, va14 from fat