这是一个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中的计划应用程序的一部分,查询尝试获取跨越9月的最后一周到10月的第一周的记录。这将被视为支付期。每个附表涵盖一个月。因此,为了获取10月上半月的所有记录,我需要包含以下行: 和(Shifts.Schedule_ID)= 2)
如果我删除该行,查询运行正常,我得到,至少是9月最后一周的记录。但包括该行给了我一个空记录集。我不知道为什么会这样。两个时间表都有记录。附表1涵盖整个九月,附表2涵盖整个十月。请指教。
答案 0 :(得分:2)
尝试使用逻辑OR:)
((Shifts.Schedule_ID)= 1或(Shifts.Schedule_ID)= 2))