a or b or c and d
неоднозначно. Вам нужно использовать круглые скобки, чтобы было ясно, как сгруппировать и и или. Если вы хотите, чтобы category
соответствовал ЛЮБОМУ из вариантов, И расписание находится между определенными датами. (a or b or c) and d
.
where (
Category = 'Freezing' or
Category = 'Ooredoo FTTH fault' or
Category = 'Ooredoo TT fault ' or
Category = 'No Picture'
)
and ScheduleDate BETWEEN ? AND ?
(Примечание: не используйте конкатенацию строк для ввода значений в запросы, особенно не напрямую из пользовательского ввода. Это дыра в безопасности и может вызвать ошибки. Используйте параметры привязки .)
(Примечание: у вас есть лишний пробел в одном из ваших параметров.)
Вы также можете использовать in
, чтобы упростить запрос.
where
Category in (
'Freezing', 'Ooredoo FTTH fault', 'Ooredoo TT fault', 'No Picture'
)
and ScheduleDate BETWEEN ? AND ?