array_agg名前の収集に使用すると、名前がコンマで区切られますが、null値がある場合は、その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()と、次のように名前(空のコンマやnullなし)のみが表示されます
問題はPostgres 8.4、サーバーにインストールしたのにstring_agg()そこで機能しないことです。array_aggをstring_agg()と同様に機能させる方法はありますか?