PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Consulta aninhada no squeel


Eu não sei sobre o Squeel, mas o erro que você vê pode ser corrigido atualizando o PostgreSQL.

A partir do PostgreSQL 9.1, depois de listar uma chave primária no GROUP BY, você pode pular colunas adicionais para esta tabela e ainda usá-las na lista SELECT. As notas de lançamento para a versão 9.1 nos digam:

BTW, sua consulta alternativa pode ser simplificada, um DISTINCT adicional seria redundante.
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