Jeśli używam array_aggdo zbierania nazw, moje imiona są oddzielane przecinkami, ale w przypadku, gdy istnieje nullwartość, ta wartość null jest również traktowana jako nazwa w agregacji. Na przykład :
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;
zwraca ,Larry,Philzamiast just Larry,Phil(w moim 9.1.2 pokazuje NULL,Larry,Phil). jak na tych skrzypcach
Zamiast tego, jeśli używam string_agg(), pokazuje mi tylko nazwy (bez pustych przecinków i null), jak tutaj
Problem w tym, że mam Postgres 8.4zainstalowany na serwerze i string_agg()tam nie działa. Czy istnieje sposób, aby funkcja array_agg działała podobnie do string_agg ()?