![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не работает простой запрос [D7, XP]
Кирей © (2008-05-28 11:56:00)есть простенький запрос
select d.ls, d1.npok, d3.lastppok
from ((("abon.dbf" d left join "lich.dbf" d1 on d.ukod=d1.ukod) left join "\05_2008\nach.dbf" d2 on d.ls=d2.ls) left join "chlich.dbf" d3 on d.ls=d3.ls) left join "\06_2008\obhod" d4 on d.ls=d4.ls
where (d3.datech is not null) and (d3.datech BETWEEN iif(d2.dateout is not null, d2.dateout, d.lastfee) and d4.data)
если вместоiif(d2.dateout is not null, d2.dateout, d.lastfee)поставить d2.dateout, все работает,
если вместоd3.datech BETWEEN iif(d2.dateout is not null, d2.dateout, d.lastfeeпоставитьiif(d2.dateout is not null, 1, 2)=1, тоесть по отдельности BETWEEN и iif работает, а вместе нет, говорит ошибка Missing coma (,).
Где я не прав? Использую ADO
Кирей (2008-05-28 12:47:00) [1]
> воспользуйся парой <= и >= вместо BETWEEN.
Блин, так работает, а я полдня ковырялся, думал что это моя ошибка
Кирей (2008-05-28 12:47:00) [2]
> DiamondShark ©
Пасиба
DiamondShark (2008-05-28 12:38:00) [3]скорее всего, глюк парсера, который путает ключевое слово BETWEEN со встроенной функцией BETWEEN()
воспользуйся парой <= и >= вместо BETWEEN.
Кирей (2008-05-28 12:20:00) [4]таблицы VFP3, прога писалась наверно на фоксе 6, типы данных совпадают, все Date
Правильный_Вася (2008-05-28 12:14:00) [5]версия фокса
и раз уж о провайдере речь пошла, то это не версия, это название
Кирей (2008-05-28 12:11:00) [6]ODBC Provider=VFPOLEDB.1
Правильный_Вася (2008-05-28 12:07:00) [7]какая версия?
Кирей (2008-05-28 12:05:00) [8]FOX
Правильный_Вася (2008-05-28 12:01:00) [9]
> Использую ADO
субд?