PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Verschachtelte Abfrage in Squeel

Ich weiß nichts über Squeel, aber der Fehler, den Sie sehen, könnte durch ein Upgrade von PostgreSQL behoben werden.

Ab PostgreSQL 9.1 können Sie, sobald Sie einen Primärschlüssel in GROUP BY aufgelistet haben, zusätzliche Spalten für diese Tabelle überspringen und sie trotzdem in der SELECT-Liste verwenden. Die Versionshinweise für Version 9.1 sagen Sie uns:

Übrigens, Ihre alternative Abfrage kann vereinfacht werden, ein zusätzlicher DISTINCT wäre überflüssig.

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