Hi All!
I experienced the strange error when running a simple query.
1) I have the following tables :
wsdb=# \d slit_data
Table "public.slit_data"
Column | Type | Modifiers
--------+------------------+-----------
chip | smallint |
tile | smallint |
slit | smallint |
id | integer |
cx | double precision |
....
wsdb=# \d gems_spec
Table "public.gems_spec"
Column | Type | Modifiers
-----------+-----------------------+-----------
tile | smallint |
chip | smallint |
id | integer |
priority | smallint |
....
2) When I run the query like this
wsdb# SELECT id,slit,tile,chip FROM slit_data LEFT JOIN gems_spec
USING(id,tile,chip) WHERE cx>0.5 ORDER BY priority,id;
it runs smoothly, but when I run the same query with aggregate, I get the
error:
wsdb=# SELECT count(*) FROM slit_data LEFT JOIN gems_spec
USING(id,tile,chip) WHERE cx>0.5 ORDER BY priority,id;
ERROR: column "gems_spec.priority" must appear in the GROUP BY clause or be
used in an aggregate function
Is that normal? I really do not see the reason for the error. I even don't
use the "GROUP BY" clause. Am I wrong ?
(I'm using PG 8.1.3)
Thanks in advance for any advices.
Regards,
Sergey
*****************************************************
Sergey E. Koposov
Max Planck Institute for Astronomy/Sternberg Astronomical Institute
Web: http://lnfm1.sai.msu.ru/~math
E-mail: math@sai.msu.ru