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

Query annidata in squeel

Non saprei di Squeel, ma l'errore che vedi potrebbe essere corretto aggiornando PostgreSQL.

A partire da PostgreSQL 9.1, una volta elencata una chiave primaria in GROUP BY puoi saltare colonne aggiuntive per questa tabella e usarle ancora nell'elenco SELECT. Le note di rilascio per la versione 9.1 dicci:

A proposito, la tua query alternativa può essere semplificata, un ulteriore DISTINCT sarebbe ridondante.

SELECT o.*, c.my_count
FROM   onetable o
JOIN (
  SELECT one_id, count(*) AS my_count
  FROM   anothertable
  GROUP  BY one_id
) c ON o.id = counts.one_id