Объединение строк разного типа в SQL PSQL или SQL server

#mysql #sql-server #postgresql #string-aggregation

Вопрос:

Как объединить строки разного типа в Mysql, PostgreSQL или SQL Server, ниже приведены данные type = 1 провинции и type = 2 города, я хотел бы объединить их в столбец,

 name         code       type
Sichuan     610000       1    
Chengdu     610000       2
Hubei       430000       1
Wuhan       430000       2
 

и мой ожидаемый результат ниже:

 name              code
SichuanChengdu    610000
HubeiWuhan        430000
 

Комментарии:

1. Скаляр: MySQL — CONCAT() функция, PostgreSQL — || оператор, SQL Server — оператор.

2. Агрегат: MySQL — GROUP_CONCAT() функция, PostgreSQL и SQL Server — string_agg() функция.

Ответ №1:

В Postgres вы можете использовать:

 select string_agg(name, '' order by type) code
from the_table
group by code;