Здравствуйте! Запрос безусловно правильный, но не удается дойти до победного
В форме в executeQuery получается запрос
SELECT FIRSTFAST * FROM SOPCenaTable
ORDER BY SOPCenaTable.ItemId ASC, SOPCenaTable.TransDate DESC
WHERE ((TransDate<={ts '2016-09-01 00:00:00.000'}))
NOTEXISTS JOIN FIRSTFAST * FROM SOPCenaTableView
WHERE SOPCenaTable.ItemId = SOPCenaTableView.ItemId
AND ((((SOPCenaTable.TransDate<SOPCenaTableView.TransDate))
AND ((SOPCenaTableView.TransDate<={ts '2016-09-01 00:00:00.000'}))))
Проблема с AND ((SOPCenaTableView.TransDate<={ts '2016-09-01 00:00:00.000'}))))
это условие не отрабатывает
Первое условие ((TransDate<={ts '2016-09-01 00:00:00.000'})) я строю как
qbrCena1TransDate.value( date2str(datenull(),123,2,2,2,2,4)+ ".." +date2str(_DATE,123,2,2,2,2,4) ); и оно работает нормально
А второе как qbrCena2TransDate.value('((SOPCenaTable.TransDate<SOPCenaTableView.TransDate)) AND ((SOPCenaTableView.TransDate<='
+sqlSystem.sqlLiteral(_DATE)
+'))');
и датовая константа в запросе получается вроде похожа на правильную, но фильтрация по ней не происходит. Проверяли, заменяя NotExists Join на Inner Join
Учитываются строки с более поздними датами
Может быть подскажете как справиться с этой проблемой?
Возможно дело в скобочках?
Последний раз редактировалось Яга1; 31.01.2017 в 10:55.
|