Member 14588284 Ответов: 2

Как я могу сгруппировать одни и те же строки


Привет я думаю что могу объяснить заголовок вопроса;

я получаю данные от oracle, и мои данные таковы
COL1	COL2
M	1
M	2
O	7
O	8
B	10
B	11
G	15
M	25
O	26


но я хочу получить эти данные вот так

COL1	COL2
M	M-1/2/25
O	O-7/8/26
B	B-10/11
G	G-15


Как я могу это сделать?

Что я уже пробовал:

я ничего не пробовал, потому что
Я не мог построить

2 Ответов

Рейтинг:
1

Member 14588284

я нахожу свое решение;

SQL = "select COL1,LISTAGG(COL2, ', ') WITHIN GROUP (ORDER BY COL1) AS NAME " & _
" from  ORACLETABLE  group by COL1 order by COL1 asc"


Рейтинг:
0

CHill60

Ваша отправная точка - понять PIVOT- See Pivot и Unpivot Oracle Database 11g[^] или Практическое руководство ПО Oracle PIVOT на реальных примерах[^]
Pivot является общим для большинства СУБД на основе T-SQL, таких как Oracle, SQL и т. д.

Однако Oracle также имеет встроенную функцию, которая позволит вам делать то, что вы хотите - LISTAGG для преобразования строк в разделенные запятыми строки - Oratable[^] - просто используйте "/" вместо ","