Я пытаюсь написать SQL-запрос для MS Access 2010, чтобы выбрать любую комбинацию из 6 полей. Я написал 63 возможных сочетания в свой запрос, каждый из которых заключен в квадратные скобки и разделен OR. Внутри каждого из них присоединяется И. Кроме того, для каждого поля задается запрос от пользователя.Access 2010 SQL: множественное условие, где предложение не фильтруется правильно
Проблема, с которой я сталкиваюсь, заключается в том, что если я ввожу параметры для (пример) полей A, B и C, я получаю только отфильтрованные значения для A и B, тогда как запрос отображает элементы, которые не соответствуют критериям параметров ,
Пример кода:
`SELECT Main.DISPATCHER, Main.DateCall, Main.Status, Main.[Pick Up 20], Main.[Drop Off 20], Main.Shift, Main.Day, Main.Time, Main.[Call Type], Main.[ETA Given], Main.ZONE, Main.Priority, Main.Comments, Main.DODept, Main.ID, Main.PU, Main.DO, Main.[Pick Up], Main.Caller, Main.DropOff
FROM Main
WHERE (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.Status=[Status: ACCEPTED or DECLINED?])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.Status=[Status: ACCEPTED or DECLINED?])
OR (Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List])
OR (Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List])
OR (Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.Shift=[What shift?AM/PM])
OR (Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List])
OR (Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List])
OR (Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.Shift=[What shift?AM/PM])
OR (Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List])
OR (Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.Shift=[What shift?AM/PM]
AND Main.DISPATCHER=[Which Dispatcher?Ex Justin])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.Shift=[What shift?AM/PM]
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DISPATCHER=[Which Dispatcher?Ex jUSTIN]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DISPATCHER=[Which Dispatcher?Ex Justin]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:])
OR (Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List])
OR (Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List])
OR (Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List])
OR (Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List])
OR (Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.DateCall BETWEEN [Enter Start Date:] AND [Enter Ending Date:]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.Status=[Status: ACCEPTED or DECLINED?])
OR (Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List])
OR (Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.Status=[Status: ACCEPTED or DECLINED?]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.[Pick Up 20]=[What Pick Up?Use Facility List])
OR (Main.[Pick Up 20]=[What Pick Up?Use Facility List]
AND Main.[Drop Off 20]=[What Drop Off?-Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.[Drop Off 20]=[What Drop Off?-Use Facility List]
AND Main.Shift=[What shift?AM/PM])
OR (Main.Shift=[What shift?AM/PM]);`
Любая помощь/логика будет весьма признателен. Благодарю.
jeezus, все эти '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' – Lamak
Его единственный способ, которым я мог думать/находить потенциально для получения желаемых результатов – atomedic
Являются ли какие-либо из столбцов базы данных NULL? Сравнение с NULL не работает как обычная логическая логика. – Jay