Обсуждение:

Поиск
Список
Период
Сортировка

От
jan.bajerski@viterra.pl
Дата:
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





Re:

От
Stephan Szabo
Дата:
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).




Re:

От
Tomas Berndtsson
Дата:
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


Re:

От
Дата:
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.



Large Objects

От
Craig May
Дата:
Hi,

Could someone please provide a demo of creating the type "Lo".

Regards,
Craig May

Enth Dimension
http://www.enthdimension.com.au