|
#1
|
|||
|
|||
SQL access
Добрый день.
Не могу разобраться почему не корректно работает запрос. Для запроса использую ADO, СУБД Aceess Код:
WHERE (((tab_predmet_zakupki.srok_strahovaniya)<Now()+30) AND ((tab_predmet_zakupki.polis) Is Null)) OR (((tab_predmet_zakupki.polis)="")); Условия SELECT игнорит <Now()+30 и отбирает только Is Null или "" Что в WHERE я указал не корректно, почему OR не работает? С 2-я условиями работает корректно. Код:
WHERE (((tab_predmet_zakupki.srok_strahovaniya)<Now()+30) AND ((tab_predmet_zakupki.polis) Is Null)); |
#2
|
|||
|
|||
Что-то ты со скобками перемудрил.
Я правильно понимаю, что ты хотел сказать: Цитата:
Тогда должно быть что-то такое: Код:
WHERE tab_predmet_zakupki.srok_strahovaniya)<Now()+30 OR ( tab_predmet_zakupki.polis) Is Null OR tab_predmet_zakupki.polis)="" ) |
#3
|
|||
|
|||
Составлял через встроенный редактор в Access, он там сам скобки расставляет.
А нужно: отобрать те записи где (srok_strahovaniya < чем текущая дата + 30 дней) И (polis is Null или polis = "") |
#4
|
|||
|
|||
Ok, тогда так:
Код:
WHERE tab_predmet_zakupki.srok_strahovaniya<Now()+30 AND ( tab_predmet_zakupki.polis Is Null OR tab_predmet_zakupki.polis="" ) |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Ru_Di (01.06.2023)
|