Re: How to do A union (B - ( A intersect B )) or sort of :-)
| От | Tom Lane |
|---|---|
| Тема | Re: How to do A union (B - ( A intersect B )) or sort of :-) |
| Дата | |
| Msg-id | 587.1288903421@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | How to do A union (B - ( A intersect B )) or sort of :-) (A B <gentosaker@gmail.com>) |
| Список | pgsql-novice |
A B <gentosaker@gmail.com> writes: > 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") Ummm ... isn't that just a UNION? Anyway, SQL's features for this sort of thing are described here: http://www.postgresql.org/docs/9.0/static/queries-union.html > 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? Both arms of a UNION or similar query would be reading the table with the same snapshot, so there wouldn't be any need for a lock to get consistent results. You may also need to spend some time reading http://www.postgresql.org/docs/9.0/static/mvcc.html regards, tom lane
В списке pgsql-novice по дате отправления: