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
which returns me 2763 rows in my case

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
I get 7146 rows.

If I understand correctly there would be no need for the top level select if UNION 
would be to only return unique values. But given my test results this doesn't seem to 
be the case. Am I missing something or am I misinterpreting something? I mean I'm sure 
you get this information out of the documentation, that's why this question has risen.


Kind regards,

Stijn Vanroye

> -----Original Message-----
> From: Edmund Bacon [mailto:[EMAIL PROTECTED]
> Sent: donderdag 13 mei 2004 17:28
> To: sad
> Cc: [EMAIL PROTECTED]
> Subject: Re: [SQL] a wierd query
> 
> 
> sad wrote:
> > select distinct a as F from table
> > union
> > select distinct b as F from table;
> >
> 
> Note that UNION only returns the unique values of the union
> You can get repeated values by using UNION ALL.
> 
> 
> -- 
> Edmund Bacon <[EMAIL PROTECTED]>
> 
> ---------------------------(end of 
> broadcast)---------------------------
> TIP 6: Have you searched our list archives?
> 
>                http://archives.postgresql.org
> 

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to