【发布时间】:2021-04-02 22:01:56
【问题描述】:
我有一个相当大的 SQL 请求,它产生以下语句(为清楚起见进行了简化):
但是,我需要过滤此结果,并且只获取 NO CapacityId = 4 的 LabId。 在此示例中,预期结果仅为 LabId 7
这里是重现情况的小提琴:http://sqlfiddle.com/#!18/e581a/2
有了这个请求:
CREATE TABLE Lab (LabId int, CapacityId int)
INSERT INTO Lab (LabId, CapacityId)
VALUES (1, 1), (1, 2), (1, 3), (1, 4), (2, 1),(2, 2)
SELECT LabId
FROM Lab
WHERE CapacityId != 4
GROUP BY LabId
它仍然会检索两个 Lab,因为两者都至少有一行 CapacityId != 4
我应该如何WHERE/GROUP BY 才能只获得 NO CapacityId = 4 的实验室?
【问题讨论】:
标签: sql sql-server filter where-clause