У меня есть такой сценарий, где у меня есть группа дублирующих записей, для каждой другой дублирующейся записи в наборе я хочу сделать ее уникальной, добавив значение из другого столбца таблицы.
Пожалуйста, смотрите ниже ожидаемый результат:
Column1 Column2 NewUniqueColumn
ABC A ABC
BCD B BCD
EFG D EFG
DEE E DEE
ABC Z ABC-Z
EFG X EFG-X
Я знаю, что одним из возможных решений является использование оператора case с предложением group by, как показано ниже
select
case when column 1 in
(select column1 from sampletable group by column1 having count(*) > 1)
then column1 +'-'+column2
else column1 end as NewUniqueColumn
from sampletable
Однако я надеялся, что можно найти лучшее решение этой проблемы, написав меньший код, что-то вроде
select column1+ column2 over (partition by column1 order by column1 ) from sampletable
но я не могу понять, какую функцию я должен использовать для column1 + column2