| From: | A B <gentosaker(at)gmail(dot)com> |
|---|---|
| To: | pgsql-novice(at)postgresql(dot)org |
| Subject: | How to do A union (B - ( A intersect B )) or sort of :-) |
| Date: | 2010-11-04 19:53:57 |
| Message-ID: | AANLkTikocZwZMmmkzihV+0Oqjb_F5uaZFMAassKVrBOS@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-novice |
Hi.
Sorry for the subject, but I knew no words to describe it better.
I will try to explain
First a more general question: is there any clever way to do two
selects A and B and then return the result
A union ( B \ (A intersect B)) ( \ is "set subtraction")
Any ideas besides writing the explicit queries? I guess one has to
lock the table to get the same result on both selects unless one can
cache the result of A and B so you don't run it twice?
Then the actual problem at hand, which with extra details might result
in another solution then the one from above.
A looks like select a.id,a.name,true from X
B looks like select b.id,b.name,false from Y
can one then use the differences in boolean values in some clever way,
like OR operation?
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2010-11-04 20:43:41 | Re: How to do A union (B - ( A intersect B )) or sort of :-) |
| Previous Message | Thomas Kellerer | 2010-11-04 16:53:59 | Re: Function to spell out a number |