Re: WHERE on an alias

From: A_Schnabel(at)t-online(dot)de (Andre Schnabel)
To: "Joseph Shraibman" <jks(at)selectacast(dot)net>, "ML: Postgres SQL" <pgsql-sql(at)postgresql(dot)org>
Subject: Re: WHERE on an alias
Date: 2001-08-29 06:27:12
Message-ID: 003001c13053$a3c4ff60$0201a8c0@aschnabel.homeip.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

----- Original Message -----
From: "Joseph Shraibman" <jks(at)selectacast(dot)net>
Subject: Re: [SQL] WHERE on an alias

> If I try to put a distinct on in my subselect int the from I get:
>
> ERROR: SELECT DISTINCT ON expressions must match initial ORDER BY
expressions
>
> what does that mean?

You need to (at least) ORDER BY the expression you want to have the
DISTINCT ON.

Tom's example would work fine:

> > select distinct on (ml.f1,ml.f2) * from ut,ml
> > where ut.f1 = ml.f1 and ut.f2 = ml.f2
> > order by ml.f1, ml.f2, ml.f3 desc;

Wrong:

select distinct on (ml.f1,ml.f2) * from ut,ml
where ut.f1 = ml.f1 and ut.f2 = ml.f2
order by ml.f2, ml.f1, ml.f3 desc;

Andre

Browse pgsql-sql by date

  From Date Subject
Next Message Vladimir Terziev 2001-08-29 07:40:00
Previous Message Marc G. Fournier 2001-08-29 03:44:16 List archives moved and cleaned up ...