एक अन्य विकल्प हो सकता है array_remove(..., NULL) (9.3 में पेश किया गया
) अगर tags.tag है NOT NULL (अन्यथा आप NULL रखना चाहेंगे सरणी में मान, लेकिन उस स्थिति में, आप एक मौजूदा NULL . के बीच अंतर नहीं कर सकते टैग और एक NULL LEFT JOIN के कारण टैग ):
SELECT objects.*,
array_remove(array_agg(tags.tag), NULL) AS tags,
FROM objects
LEFT JOIN taggings ON objects.id = taggings.object_id
LEFT JOIN tags ON tags.id = taggings.tag_id
यदि कोई टैग नहीं मिलता है, तो एक खाली सरणी लौटा दी जाती है।