| От | Andrey N. Oktyabrski |
|---|---|
| Тема | Re: Аггрегаторные функции: исключить NULL |
| Дата | |
| Msg-id | 4EC41642.6020303@bestmx.ru обсуждение исходный текст |
| Ответ на | Re: Аггрегаторные функции: исключить NULL ("Andrey N. Oktyabrski" <ano@bestmx.ru>) |
| Список | 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 по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера