Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> GROUP BY, jak to krócej zapisać
sf
post 30.11.2004, 13:10:38
Post #1





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

Ostrzeżenie: (0%)
-----


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


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
SongoQ
post 1.12.2004, 16:21:30
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


W Postgresie nie da sie inaczej grupowac jak przez podanie nazwy pol, nie przejdzie Ci cos takiego jak *, moze to jest wada moze zaleta.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:13