Wrong output from union - Mailing list pgsql-sql

From Gary Stainburn
Subject Wrong output from union
Date
Msg-id 201203281501.38835.gary.stainburn@ringways.co.uk
Whole thread Raw
Responses Re: Wrong output from union  (David Johnston <polobo@yahoo.com>)
List pgsql-sql
Hi folks.

I have two selects which in themselves report what they should. However, when 
I run a union to combine their outputs (to then feed a select/count) lines 
disappear.  Below are the two seperate selects, followed by the untion in 
which duplicate rows are lost. I'm using Postgresql 8.3.3-2 RPMs on a Fedora 
9 system.

Can anyone tell me why it is happening and how to fix it.

Ta.

users=# select r_u_id || ':' ||r_deadline as key from requests where r_u_id is 
not NULL and r_deadline>='2012-03-26' and r_deadline <= ('2012-03-26'::date 
+ '7 days'::interval);                                                                           
key
---------------25:2012-03-2825:2012-03-2825:2012-03-2825:2012-03-3025:2012-03-2925:2012-03-27
(6 rows)

users=# select u_id || ':' || rm_timestamp::date as key from request_reminders 
where u_id is not null and rm_timestamp>='2012-03-26' and rm_timestamp <= 
('2012-03-26'::date + '7 days'::interval);key
-----
(0 rows)

users=# select r_u_id || ':' ||r_deadline as key from requests where r_u_id is 
not NULL and r_deadline>='2012-03-26' and r_deadline <= ('2012-03-26'::date 
+ '7 days'::interval)                                                                      
union
  
 
select u_id || ':' || rm_timestamp::date as key from request_reminders where 
u_id is not null and rm_timestamp>='2012-03-26' and rm_timestamp <= 
('2012-03-26'::date + '7 days'::interval);     key
---------------25:2012-03-2725:2012-03-2825:2012-03-2925:2012-03-30
(4 rows)

users=#
-- 
Gary Stainburn
Group I.T. Manager
Ringways Garages
http://www.ringways.co.uk 


pgsql-sql by date:

Previous
From: Steve Crawford
Date:
Subject: Re: how to concatenate in PostgreSQL
Next
From: David Johnston
Date:
Subject: Re: Wrong output from union