Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: GROUP BY
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
sf
Wystąpiły małe problemy przy użyciu zapania w PostgreSQL (w MySQL działało ;P). Mianowicie :

  1. SELECT n.*, count(c.cnid) AS nc FROM sfn_news AS n LEFT JOIN sfn_comments AS c ON (c.cnid = n.nid) GROUP BY n.nid ORDER BY n.nid DESC;
  2. -- ERROR: column "n.ndate" must appear in the GROUP BY clause or be used in an aggregate function


  1. SELECT n.*, count(c.cnid) AS nc FROM sfn_news AS n LEFT JOIN sfn_comments AS c ON (c.cnid = n.nid) GROUP BY n.nid, n.ndate, n.nuser, n.nsubject, n.ncontents ORDER BY n.nid DESC;
  2. -- OK - tylko dużo pisania, poprostu chciałbym krótrzy zapis o ile jest to możliwe


  1. SELECT n.*, count(c.cnid) AS nc FROM sfn_news AS n LEFT JOIN sfn_comments AS c ON (c.cnid = n.nid) GROUP BY n.* ORDER BY n.nid DESC;
  2. -- ERROR: relation reference "n" cannot be used as a select-list entry
  3. -- HINT: Write "n".* to denote all the columns of the relation.


No i nie bardzo rozumiem tą wskazówkę sad.gif
SongoQ
W Postgresie nie da sie inaczej grupowac jak przez podanie nazwy pol, nie przejdzie Ci cos takiego jak *, moze to jest wada moze zaleta.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.