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

Requête imbriquée dans squeel

Je ne sais pas pour Squeel, mais l'erreur que vous voyez pourrait être corrigée en mettant à jour PostgreSQL.

À partir de PostgreSQL 9.1, une fois que vous avez listé une clé primaire dans GROUP BY, vous pouvez ignorer des colonnes supplémentaires pour cette table et toujours les utiliser dans la liste SELECT. Les notes de version pour la version 9.1 dites-nous :

BTW, votre requête alternative peut être simplifiée, un DISTINCT supplémentaire serait redondant.

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