如何从多个SQL查询记录等于0?

时间:2014-12-05 20:49:29

标签: sql duplicate-removal

我有一个表在第一列中有多个重复记录(ID记录),但在第二列中有不同的数字数据。

我希望能够识别哪些ID记录的所有数字记录都为0。

例如,表格如下:

ID Value

1  2

1  2

1  0

2  0

2  0  

2  0

我想只识别ID 2,因为所有值都等于0.我不想要ID 1,因为有值> 0

如果格式不正确或令人困惑,请抱歉。

3 个答案:

答案 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。