Плиз, оч надо(:
Есть два разных запроса на одну и ту же таблицу:
1. SELECT * FROM mytable WHERE feeid = 208 AND country = 'USA';
id | feeid | min | max | fee | country
----+-------+-------+--------+-----+---------
306 | 208 | 0 | 5000 | 99 | USA
2. SELECT * FROM mytable WHERE feeid = 208 AND country IS NULL;
id | feeid | min | max | fee | country
----+-------+-------+--------+-----+---------
307 | 208 | 0 | 5000 | 100 | NULL
308 | 208 | 5001 | 10000 | 150 | NULL
309 | 208 | 10001 | 25000 | 200 | NULL
310 | 208 | 25001 | 100000 | 250 | NULL
Ключом для меня здесь являются поля feeid + min + max.
Необходимо выполнить логическое пересечение результатов двух запросов используя выше перечисленные ключевые поля.
Результатом пересечения должно быть:
id | feeid | min | max | fee | country
----+-------+-------+--------+-----+---------
306 | 208 | 0 | 5000 | 99 | USA
308 | 208 | 5001 | 10000 | 150 | NULL
309 | 208 | 10001 | 25000 | 200 | NULL
310 | 208 | 25001 | 100000 | 250 | NULL
P.S. Postgresql