ถ้าฉันใช้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 ()?