我只是想用Oracle來完成一些艱鉅的任務。基於單列合併唯一行
我有一個包含3列
ColA ColB ColC ColD
---------------------------
123 N null 1
100 Y AAAA 1
123 Y XXXX 2
100 Y YYYY 2
我需要更新COLB和COLC顯示以下結果集的表。
ColA ColB ColC ColD
-------------------------------
123 Y XXXX 1
100 Y AAAA\YYYY 1
123 Y XXXX 2
100 Y YYYY 2
我需要更新COLB與Y
如有的唯一記錄包含Y
其他N
。
而對於ColC我想更新由\
分隔的值,其中兩行都包含一個值,否則只是該值。
我試圖用更新查詢做到這一點,但ghosh .........這似乎是不可能的。
任何人都可以提出一個可能的解決方案或什麼?
我被告知如果需要使用PL/SQL。會這樣嗎?
PS:我也看到了類似的其他問題,但還沒有任何解決方案。
編輯:我們需要更新只是那些行,其中冷是1
。
您在結果集中比輸入有更少的行。你刪除了一些?這隻能通過更新來實現? –
+1用於觀察。我真的很抱歉。編輯。 – akhil
爲什麼所有的行在COLA == 100 _not_'AAAA \ YYYY'?這意味着某種隱式排序,我無法看到如何通過提供的數據實現......您是否只希望隨機行具有這兩個值?最後,_why_你想這麼做嗎?把這個規範化或正確地規範化,讓COLA是唯一的是不是更有意義? – Ben