"Dmitry Yemanov"
> Была тут пару недель назад точно такая же тема, решение предлагалось.
решение было таким:
select rt.ID, rt.NAME, r.ID, r.DATE_START
from PRS$RESOLUTION_TYPES rt
join PRS$RESOLUTIONS r on r.ID = (select first 1 ID
from PRS$RESOLUTIONS
where ID_RT = rt.ID
and ID_CLI = :ID_CLI
and (DATE_START < :DATE_RES)
and (DATE_START + rt.EXPIRATION >
:DATE_RES)
order by r.DATE_START desc)
но оно идет по PRS$RESOLUTIONS 4 раза (это в полторашке), точнее по кол-ву
записей rt
думал, вдруг что появилось масштаба case, first или get_context, а я не
знал, да и после SQL92 стандартов не читал, все как-то больше релизнотами
обходимся
этот алгоритм реализуется на ХП или EXECUTE BLOCK на раз и на один проход,
но чутье говорит мне:
select ID, DATE_DOC, distinct ID_RT from PRS$RESOLUTIONS
order by DATE_DOC desc
именно это в ХП я делаю
--
Булычев Алексей
http://www.stella-npf.ru
--~--~---------~--~----~------------~-------~--~----~
-~----------~----~----~----~------~----~------~--~---