I understand, thanks.
First: as I said in my previous post, the workhour_id was left behind by mistake and has since been removed.
So it seems that I can ommit the distinct completely and just use the query in it's simpelest form, like this: select
employee_id,begindate as date from workhour UNION select employee_id, enddate as date from workhour
And I would get a list of all dates (as well begin- as enddates) where a date can occure only once with each employee?
Altough I didn't start this thread I'm learing some usefull things here, so some thanks to the people who replied (and
startedthe thread) are in place here.
Kind regards,
Stijn Vanroye
> -----Original Message-----
> From: Stephan Szabo [mailto:sszabo@megazone.bigpanda.com]
> Sent: maandag 17 mei 2004 17:01
> To: Stijn Vanroye
> Cc: pgsql-sql@postgresql.org; Edmund Bacon
> Subject: Re: [SQL] a wierd query
>
> On Mon, 17 May 2004, Stijn Vanroye wrote:
>
> > Are you sure about that Edmund?
> >
> > I have the following query:
> > select distinct on (task_id, date) task_id,
> workhour_id, date from
> > (
> > select task_id, workhour_id, begindate as date from workhour
> > UNION
> > select task_id, workhour_id, enddate as date from workhour
> > )as dist1
>
> This gets you first rows distincted by task_id, workhour_id and date
> and then only rows distincted by task_id and date (and an
> unpredictable
> workhour_id).
>
> > if I use the query without the top level select, like this:
> > select task_id, workhour_id, begindate as date from workhour
> > UNION
> > select task_id, workhour_id, enddate as date from workhour
>
> This gets rows distincted by task_id, workhour_id and date.
>