我只是想用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