PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Postgres :filtrage des résultats à l'aide de ARRAY_AGG et HAVING (au lieu de WHERE)

Il s'avère que le TOUT mot clé de Postgres est latéral et ne peut pas être utilisé de manière symétrique.

Ainsi, le code de travail est :

SELECT items.id, items.title, ARRAY_AGG(tags.tag_id)
FROM items
INNER JOIN tags ON (tag.tag_id=items.id)
GROUP BY items.id
HAVING 27 = ANY(ARRAY_AGG(tags.tag_id))