Привет.

"Ded" <[EMAIL PROTECTED]> сообщил/сообщила в новостях следующее: news:[EMAIL PROTECTED]

Horsun Vlad wrote:

    Я не понял - это согласие или похер моего мнения ? :)

    В моей схеме "последний действительный документ на указанную дату"
выбирается простым селектом с BETWEEN - никаких подзапросов, группировок
и т.п.

А когда таковых больше одного - получаем multiple rows in singleton select?

А как оно там больше одного получится при условии, что диапазоны дат для каждой версии записи не пересекаются?

И чем битвин лучше фирста по индексу?

Select D.Num, C.Address
from Doc D
Inner Join Clients C on D.IdClient = C.IdClient and D.Dat between C.StartDt
and C.EndDt

А с фирстом еще и подзапрос рисовать придется...

Не говоря уж о том, что решение задачи обеспечения непересекающихся диапазонов в активной многопользовательской среде лично мне неизвестно.


Это да. Тут сложнее. Сходи на www.ibase.ru и почитай статью про блокировки :)))

With b/r. Gleb.

Ответить