Якщо я використовую array_aggдля збору імен, я отримую свої імена, розділені комами, але якщо є nullзначення, це значення також береться як ім'я в сукупності. Наприклад :
SELECT g.id,
array_agg(CASE WHEN g.canonical = 'Y' THEN g.users ELSE NULL END) canonical_users,
array_agg(CASE WHEN g.canonical = 'N' THEN g.users ELSE NULL END) non_canonical_users
FROM groups g
GROUP BY g.id;
він повертається ,Larry,Philзамість просто Larry,Phil(у моєму 9.1.2 це показано NULL,Larry,Phil). як у цій скрипці
Натомість, якщо я використовую string_agg(), він показує мені лише імена (без порожніх коми або нулі), як тут
Проблема в тому, що я Postgres 8.4встановив на сервері і string_agg()не працює там. Чи є спосіб зробити array_agg подібним до string_agg ()?