PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Postgres:filtraggio dei risultati utilizzando ARRAY_AGG e HAVING (invece di WHERE)

Si scopre che la qualsiasi parola chiave di Postgres è laterale e non può essere utilizzato simmetricamente.

Quindi il codice di lavoro è:

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))