2015-11-20 3 views
0

Это проблема с SQL-запросом больше всего на свете. Я проверяю следующее:Пустой набор записей при запросе записей из двух расписаний

SELECT Employees.Corps_ID, Employees.Last_Name, Employees.First_Name, Shifts.Start_Date_Time, Shifts.End_Date_Time, DateDiff('n',Shifts.Start_Date_Time,Shifts.End_Date_Time) AS SubTotalMinutes, Locations.Location_Name 
FROM (Locations INNER JOIN Shifts ON Locations.Location_ID = Shifts.Location) INNER JOIN (Employees INNER JOIN Employees_Shifts ON Employees.Employee_ID = Employees_Shifts.Employee_ID) ON Shifts.Shift_ID = Employees_Shifts.Shift_ID 
WHERE (((Shifts.Start_Date_Time) Between #2015/09/26# And #2015/10/04#) AND ((Shifts.Schedule_ID)=1 And (Shifts.Schedule_ID)=2)) 
ORDER BY Employees.Last_Name; 

Этот запрос является частью приложения планирования в Access 2010, и запрос пытается получить записи, которые охватывают на прошлой неделе в сентябре до конца к первой недели октября. Это будет считаться периодом оплаты. Каждый график охватывает один месяц. Итак, для того, чтобы получить все записи в первой половине октября, мне нужно включить строку: А (Shifts.Schedule_ID) = 2)

Если удалить эту строку запроса работает нормально, и Я получаю, по крайней мере, записи с прошлой недели в сентябре. Но включение строки дает мне пустой набор записей. Я не знаю, почему это так. Есть записи для обоих графиков. График 1 охватывает весь сентябрь, Списка 2 охватывает весь октябрь. Пожалуйста, порекомендуйте.

ответ

2

Попытка использовать логическое ИЛИ :)

((Shifts.Schedule_ID) = 1 или (Shifts.Schedule_ID) = 2))

+0

Это было его. Благодарю. – Alan

Смежные вопросы