From: | Андрей Зевакин <azevakin(at)gmail(dot)com> |
---|---|
To: | Владимир Комаров <vlads(at)sibnet(dot)ru> |
Cc: | pgsql-ru-general(at)postgresql(dot)org |
Subject: | Re: [pgsql-ru-general] Вопрос по построению запросу |
Date: | 2014-10-20 16:58:51 |
Message-ID: | CAGfSdS5ucNuTAA3UM7W_wgq5Ndi+RoaU4cZ4CWf7fAi4yJFrtA@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
Здравствуйте, Владимир.
Вот так можно сгенерировать что-то на подобии kod||','||name||','||…
select string_agg('coalesce('||column_name||', '''')', '||'',''||' order by
ordinal_position)
from information_schema.columns
where table_schema = 'spr'
and table_name = 'tovar';
На всякий случай добавил coalesce.
С уважением, Андрей Зевакин.
20 октября 2014 г., 22:31 пользователь Владимир Комаров <vlads(at)sibnet(dot)ru>
написал:
> Здраствуйте.
>
> Есть запрос:
>
> SELECT * FROM spr.tovar
>
> Надо вместо «*» поставить некую функцию, которая возвращала только одну
> строку типа text, содержащую информацию из всех столбцов таблицы. Т.е.
> соединяла их в одну строку.
>
> Количество столбцов, как и их содержание неизвестно. Так что предложение
> на подобии kod||','||name||','||… не подходят.
>
>
>
> Пример:
>
> SELECT * FROM spr.tovar
>
> X name …
>
> -----------------------
>
> 1 tov1 …
>
> 2 tov2 …
>
>
>
> А надо
>
> SELECT ??? FROM spr.tovar
>
> Text
>
> ------------
>
> 1,tov1,…
>
> 2,tov2,…
>
>
>
>
>
> Заранее большое спасибо.
>
From | Date | Subject | |
---|---|---|---|
Next Message | Alexey Kolpakov | 2014-10-20 17:03:24 | Re: [pgsql-ru-general] Вопрос по построению запросу |
Previous Message | Владимир Комаров | 2014-10-20 16:31:47 | Вопрос по построению запросу |