array_agg
İsimleri toplamak için kullanırsam , isimlerimi virgülle ayırırım, ancak bir null
değer olması durumunda , bu boş da toplamda bir isim olarak alınır. Örneğin :
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
sadece yerine geri dönüyor Larry,Phil
(9.1.2'mde gösteriyor NULL,Larry,Phil
). gibi bu keman
Ben kullanırsanız Bunun yerine, string_agg()
bu bana gibi (boş virgül veya boş değerlere olmadan) sadece adlarını gösterir burada
Sorun şu ki Postgres 8.4
, sunucuya yükledim ve string_agg()
orada çalışmıyor. Array_agg işlevinin string_agg () ile benzer çalışmasını sağlamanın bir yolu var mı?