Обсуждение:
Hello, I have following problem with PostgreSQL 6.5.3, I haven't possiblity to check it on 7.0 and I want to know is it possible to run such query: SELECT k.pic, id_g, id_k, count(*) FROM kart k, pictues p WHERE k.pic = p.pic GROUP BY k.pic PICTURES(pic,id_g,id_k) KART (pic,email,mess,date) I've got answer from Postgres "Illegal attributes or non-group column" Is it error in query or in parser ? Yours Jan Bajerski
On Mon, 23 Oct 2000 jan.bajerski@viterra.pl wrote: > Hello, > I have following problem with PostgreSQL 6.5.3, I haven't possiblity > to check it on 7.0 and I want to know is it possible to run such query: > > SELECT k.pic, id_g, id_k, count(*) > FROM kart k, pictues p > WHERE k.pic = p.pic > GROUP BY k.pic > > PICTURES(pic,id_g,id_k) > KART (pic,email,mess,date) > > I've got answer from Postgres > "Illegal attributes or non-group column" > > Is it error in query or in parser ? AFAICS, the above construct isn't a legal GROUP BY query. All columns in the select list must either be grouped columns or in some sort set value function. Assuming that pictures.pic is unique, you can add p.id_g and p.id_k to the group by clause. Otherwise, you need to decide which id_g and id_k you want (min or max is often useful).
jan.bajerski@viterra.pl writes: > Hello, > I have following problem with PostgreSQL 6.5.3, I haven't possiblity > to check it on 7.0 and I want to know is it possible to run such query: > > SELECT k.pic, id_g, id_k, count(*) > FROM kart k, pictues p > WHERE k.pic = p.pic > GROUP BY k.pic > > PICTURES(pic,id_g,id_k) > KART (pic,email,mess,date) > > I've got answer from Postgres > "Illegal attributes or non-group column" > > Is it error in query or in parser ? You need to have all non-aggragated columns in the GROUP BY: SELECT k.pic, id_g, id_k, count(*) FROM kart k, pictues p WHERE k.pic = p.pic GROUP BY k.pic, id_g, id_k Tomas
On Mon, 23 Oct 2000 jan.bajerski@viterra.pl wrote: > I have following problem with PostgreSQL 6.5.3, I haven't possiblity > to check it on 7.0 and I want to know is it possible to run such query: > > SELECT k.pic, id_g, id_k, count(*) ^^^^ ^^^^ What table do these come from? > FROM kart k, pictues p ^^^^^^^^ This looks like a typo > WHERE k.pic = p.pic > GROUP BY k.pic > > PICTURES(pic,id_g,id_k) > KART (pic,email,mess,date) > > I've got answer from Postgres > "Illegal attributes or non-group column" > > Is it error in query or in parser ? Probably the query. Brett W. McCoy http://www.chapelperilous.net --------------------------------------------------------------------------- The goys have proven the following theorem... -- Physicist John von Neumann, at the start of a classroom lecture.
Hi, Could someone please provide a demo of creating the type "Lo". Regards, Craig May Enth Dimension http://www.enthdimension.com.au