Aggregates not allowed in WHERE clause?

From: Joachim Trinkwitz <jtr(at)uni-bonn(dot)de>
To: pgsql-sql(at)postgresql(dot)org
Subject: Aggregates not allowed in WHERE clause?
Date: 2002-06-19 08:04:24
Message-ID: 874rfzr8xj.fsf@waffel.germanistik.uni-bonn.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi all,

I have a table (lv) with a field "semester" and I'm trying to fish out all
rows which have a value corresponding to a max() value of another
table's (lf_sem) "semester" field. The intention is to keep a value
with the current term in lf_sem so I can get all rows which concern
this term.

Example tables:

lv
==
semester | kvvnr
---------+------
2001ss | 4185
2001ss | 4203
2002ws | 4163
2002ws | 4190

lf_sem
======
semester
--------
2001ws
2002ss
2002ws

At first I tried this query:

SELECT kvvnr
FROM lv, lf_sem
WHERE lv.semester = max(lf_sem.semester);

This yields the message: 'Aggregates not allowed in WHERE clause'.

Next I tried this one:

SELECT kvvnr, max(lf_sem.semester) AS akt_semester
FROM lv, lf_sem
WHERE lv.semester = akt_semester;

Now I got: 'Attribute 'akt_semester' not found'

Is there another way to get what I want?

Clueless,
joachim

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Christopher Kings-Lynne 2002-06-19 08:13:28 Re: Aggregates not allowed in WHERE clause?
Previous Message Achilleus Mantzios 2002-06-19 07:44:03 Re: text vs varchar