【发布时间】:2021-11-08 11:23:15
【问题描述】:
使用 listagg 合并我的数据后,我想删除许多重复项。
我的数据中总共只有 3 种技术,没有特定的模式。我想知道是否可以删除所有重复项并在相应行中仅保留 1 种类型?
select
NAME,
RTRIM(
REGEXP_REPLACE(
(LISTAGG(
NVL2(Membrane_column, 'Membrane, ', NULL)
|| NVL2(SNR_column, 'SNR, ', NULL)
|| NVL2(SMR_column, 'SMR, ', NULL)
) within group (ORDER BY name)),
'Membrane, |SNR, |SMR, ', '', '1', '1', 'c')
', ')
as TECHNOLOGY
from
Table A
我现在拥有的当前表
| Name | Technology |
|---|---|
| A | SNR, SMR, SMR, SNR |
| B | Membrane, SNR, SMR, Membrane |
| C | SMR, SMR, Membrane |
想要的表
| Name | Technology |
|---|---|
| A | SNR, SMR |
| B | Membrane, SNR, SMR |
| C | SMR, Membrane |
【问题讨论】:
-
想要的输出是什么?
-
完成。很抱歉不清楚前哨。
-
请将您的源数据发布为文本,而不是图像。 Why not upload images of code/errors when asking a question?
-
idk 为什么我在发布表格时总是出错。这就是我发布图片的原因
-
请将其发布为纯文本或任何可以复制的内容,有人会编辑它。图片一点用都没有(手动输入所有数据真的很无聊)。
标签: sql oracle duplicates listagg