![]() |
#7 |
Участник
|
Здравствуйте! Запрос безусловно правильный, но не удается дойти до победного
В форме в 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. |
|