Как написать SQL-запрос для нормализации? - PullRequest
0 голосов
/ 29 сентября 2019

Я хочу нормализовать значения в моей таблице с помощью запроса SQL.

Моя таблица выглядит следующим образом:

id  name 
--------
1   A
1   B
1   C
2   D
2   E

Требуется таблица вроде этой:

id  name 
----------
1   A,B,C   
2   D, E

Просто хочу знать, какую логику я должен применить.

1 Ответ

2 голосов
/ 29 сентября 2019

Использование агрегатная функция LISTAGG():

SELECT id, LISTAGG(name, ',') WITHIN GROUP (ORDER BY name) name
FROM mytable
GROUP BY id

Демонстрация на DB Fiddle :

ID | NAME 
-: | :----
 1 | A,B,C
 2 | D,E  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...