Concat все значения столбцов в sql - PullRequest
26 голосов
/ 09 июня 2009

Как объединить все значения столбцов из разных строк, возвращаемых из запроса SQL, в одно значение? Это пример:

запрос возвращает:

FOO
------
RES1

RES2

RES3

Теперь я хочу получить результат, подобный следующему:

FOOCONCAT
-----
RES1RES2RES3

Есть ли способы сделать это в SQL?

Ответы [ 12 ]

0 голосов
/ 09 июня 2009

Объединение строк зависит от базы данных, которую вы используете (вы не упомянули, какая версия в вашем вопросе, так что здесь идет) ...

В Oracle и DB2 вы можете использовать функцию CONCAT ... CONCAT(string, string)

SQL Server вы можете использовать оператор «+» ... string1 + string2 + string3

В MySQL это CONCAT(string, string... n_string)

Наконец, в PostgreSQL это TEXTCAT(string, string) ...

... Я взял это из этой маленькой классной книги, которую я сижу на своем столе. Руководство по SQL-карманам от О'Рейли ... посмотрите!

:)

0 голосов
/ 09 июня 2009
select cast(res1 as varchar)+cast(res2 as varchar)+cast(res3 as varchar) as fooconcat from foo

Если столбцы уже являются строками, вам не нужна приведение, вы можете просто сделать:

select res1 + res2 + res3  as fooconcat from foo

Для данных из нескольких строк используйте PIVOT .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...