> select first 1 id from (
>     select id,  1 a from Search(:val1)
>     union
>     select id, -1 a from Search(:val2)
> ) group by id having sum(a) = 0
>
> , но сам вижу хреново :( фечит всё ...

А нельзя написать так:
select first 1 s1.id
from search(:val1) s1
-- не знаю почему, но мне советовали для
ХП использовать left join
  left join search(:val2) s2 on (s1.id = s2.id)
-- это надо чтобы от s1 остались только
те id, что есть в s2
where s2.id is not null
-- для использования first 1 обязательно
нужен order by
order by ???


--~--~---------~--~----~------------~-------~--~----~
-~----------~----~----~----~------~----~------~--~---

Ответить