查询访问中不存在的值

时间:2015-06-05 13:37:17

标签: sql ms-access missing-data

我正在尝试创建一个访问查询,该查询将在有人错过某个任务时进行报告,具体取决于该任务没有任何记录。

我有一个记录任务完成基本字段的表是:

Date 
Shift 
Task 
Tech

当技术人员完成任务时,会记录事件创建记录。

我需要能够提取一个查询,以确定班次错过任务的时间。

我尝试使用带有shift作为唯一数据的示例表,尝试使用无法匹配的查询,甚至尝试将任务添加到此表中。

所以我正在寻找一些SQL帮助。

必须有办法做到这一点......

2 个答案:

答案 0 :(得分:0)

是否像

SELECT Date, Shift, Task, Tech 
WHERE Shift IS NOT NULL AND Task IS NULL

答案 1 :(得分:0)

如果我们假设(我知道那是危险的)你有一个单独的移位表,那么你要查找的列表中的移位是一个外键。我认为您正在寻找没有任何相关任务的班次ID。您可以使用联接并在任务表中搜索空值。 例如:

SELECT shifttable.shift, Tasktable.task, tasktable.tech, tasktable.date
FROM shiftTable
LEFT JOIN TaskTable
ON TaskTable.ShiftID = shiftTable.ShiftID
WHERE TaskTable.PrimaryKey IS NULL

鉴于数据: 班次表:

ShiftID    Shift
1          Monday
2          Tuesday
3          Wednesday

任务表

TaskID   ShiftID  Date    tech    task
1        1        5/15/15 bob     job 1
2        3        5/22/15 Sam     job 4

会得出结果:

Shift
Tuesday