0
我有一张表,其中包含DocIds,Tasks,StartDate和EndDate的列表,如图所示。我需要构建一个只返回DocIds的查询,其中'任务A'具有NOT NULL EndDate,并且没有其他任务。只有其他值存在时检索不同的值
+-------+------+-----------+----------+
| DocId | Task | StartDate | EndDate |
+-------+------+-----------+----------+
| 1 | A | 1/1/2017 | 1/1/2017 |
| 2 | A | 1/1/2017 | 1/2/2017 |
| 2 | B | 1/2/2017 | 1/3/2017 |
+-------+------+-----------+----------+
如果这是我整个表,查询将只从第一行返回的docId,因为它是一个只有它有一个结束日期任务A一docID的,没有任务B.
我已经开始用类似如下:
SELECT DISTINCT DocId
FROM WorkTasks
WHERE [Task] = 'A'
AND EndDate IS NOT NULL
-- AND TASK(B..C..D..etc) DOES NOT EXIST
我无法理解如何指定额外的任务没有为给定的docId存在。额外的任务是任意命名,所以我需要在DocId
排除具有比A项任务以外的DocID的任何实例