我有一个表在第一列中有多个重复记录(ID记录),但在第二列中有不同的数字数据。
我希望能够识别哪些ID记录的所有数字记录都为0。
例如,表格如下:
ID Value
1 2
1 2
1 0
2 0
2 0
2 0
我想只识别ID 2,因为所有值都等于0.我不想要ID 1,因为有值> 0
如果格式不正确或令人困惑,请抱歉。
答案 0 :(得分:1)
您可以使用“NOT IN”:
SELECT DISTINCT Id
FROM table1
WHERE Id NOT IN (SELECT Id FROM table1 WHERE Value <> 0)
答案 1 :(得分:0)
SELECT *
FROM table t1
WHERE NOT EXISTS (SELECT 1 FROM table t2 WHERE t2.ID = t1.id AND Value <> 0)
“选择ID不在具有非零值的记录集中的所有记录。”
答案 2 :(得分:0)
SELECT DISTINCT ID FROM TABLE
WHERE ID NOT IN (SELECT DISTINCT ID FROM TABLE WHERE VALUE <> 0)
这将获取表中没有值为非零的行的所有ID。