Re: xml output

Поиск
Список
Период
Сортировка
От Thom Brown
Тема Re: xml output
Дата
Msg-id AANLkTimfD3ja3RbgzWeSHLmv7x_jJin-+iaUei+ivnJf@mail.gmail.com
обсуждение исходный текст
Ответ на Re: xml output  (Florian Henge <florian.henge82@web.de>)
Список pgsql-novice
On 25 August 2010 09:53, Florian Henge <florian.henge82@web.de> wrote:
> Hi!
>
> Thanks, that worked perfectly for me, except for one problem.
>
> I have like 20 times the name "Joe" in my table, but want to get it only once in the xml output file.
>
> How can is do this? I tried SELECT DISTINCT but it didn't work.

If you're using PostgreSQL 8.4 or greater you can do:

WITH people AS (
    SELECT DISTINCT first_name
    FROM person
    ORDER BY first_name
)
SELECT
xmlelement(name words,
    xmlagg(
        xmlforest(first_name)
    )
)
FROM people

If not, you can do:

SELECT
xmlelement(name words,
    xmlagg(
        xmlforest(first_name)
    )
)
FROM (
    SELECT DISTINCT first_name
    FROM person
    ORDER BY first_name
) AS people

Although maybe there's a nicer way of doing it.  Note that if you want
aggregates in your results, use GROUP BY instead of DISTINCT.
--
Thom Brown
Registered Linux user: #516935

В списке pgsql-novice по дате отправления:

Предыдущее
От: Florian Henge
Дата:
Сообщение: Re: xml output
Следующее
От: Siddharth Saha
Дата:
Сообщение: calling functions which take user defined types