ถ้าฉันใช้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()มันจะแสดงเฉพาะชื่อ (โดยไม่มีเครื่องหมายจุลภาคหรือว่างเปล่า) เหมือนที่นี่
ปัญหาคือฉันPostgres 8.4ติดตั้งบนเซิร์ฟเวอร์แล้วและstring_agg()ใช้งานไม่ได้ มีวิธีใดบ้างที่จะทำให้ array_agg ทำงานคล้ายกับ string_agg ()?