Re: Аггрегаторные функции: исключить NULL - Mailing list pgsql-ru-general

From Andrey N. Oktyabrski
Subject Re: Аггрегаторные функции: исключить NULL
Date
Msg-id 4EC41642.6020303@bestmx.ru
Whole thread Raw
In response to Re: Аггрегаторные функции: исключить NULL  ("Andrey N. Oktyabrski" <ano@bestmx.ru>)
List pgsql-ru-general
On 16.11.11 14:10, Dmitry E. Oboukhov wrote:
>> On 14.11.11 14:01, Dmitry E. Oboukhov wrote:
>>> Есть ли простой способ в третьем столбике исключить {NULL}?
>> INNER JOIN?
>
> Нет, он исключит их и из выборки тоже. в выборке нужны NULL в
> некоторых местах. а вот в этом столбике нужны только id'шники без NULL
> (так же как COUNT считает)
Оно?
ano=# SELECT * from u;
  id
----
   1
   2
   3
(3 rows)

ano=# SELECT * from m;
  id | uid
----+-----
   1 |   2
   2 |   2
   3 |   3
(3 rows)

ano=# SELECT u.id, CASE array_agg(m.id) WHEN '{NULL}' THEN '{}' ELSE
array_agg(m.id) END AS m FROM u LEFT JOIN m ON m.uid = u.id WHERE u.id
IN (1,2,3) GROUP BY u.id;
  id |   m
----+-------
   2 | {1,2}
   1 | {}
   3 | {3}
(3 rows)

pgsql-ru-general by date:

Previous
From: Alexey Klyukin
Date:
Subject: Re: [pgsql-ru-general] Аггрегаторные функции: исключить NULL
Next
From: "Dmitry E. Oboukhov"
Date:
Subject: Стоимость запроса в EXPLAIN с LIMIT и OFFSET