0

这是我的表app_extra

AppID;AppExtraID
100;0
100;1
100;3
100;7
100;8
100;9
110;0
110;2
110;4
110;7
110;9
115;0
115;2
115;6
115;8
120; 0
120;1
120;10
130;0
130;7
130;8
130;10
140;0
140;1
140;3
150;0
150;2
150;6
150;7
150;8
150;10
160;0
160 ;8
160;10
165;0
165;8
165;10
170;0
170;2
170;8
170;10
180;0
180;1
180;5
180;7
180;10
185;0
185;1
185;7
185;10
190;0
190;2

我想知道如何只拥有没有 9 和 10 AppExtraID的 AppID

谢谢!

4

4 回答 4

2
select distinct AppId
from app_extra
where AppExtraID not in (9, 10)

修改以适应您的评论的愿望。

于 2011-11-07T20:13:51.830 回答
2

我明白你在说什么...

SELECT DISTINCT AppID
FROM app_extra 
WHERE AppID NOT IN 
  (SELECT DISTINCT AppID from app_Extra 
   WHERE AppExtraID IN (9, 10))

内部选择将识别所有具有 9 或 10 额外的 App ID。然后这些行将被排除在主选择中。任何与 9 或 10 相关的 AppID 都将被淘汰,即使它们还有另一个额外的 ID。

于 2011-11-07T20:23:11.283 回答
1

要获得AppID满足要求的唯一列表:

SELECT AppID 
FROM   tbl
WHERE  AppExtraID NOT IN (9, 10)
GROUP  BY 1
于 2011-11-07T20:15:25.840 回答
0
SELECT DISTINCT AppID FROM app_extra WHERE AppExtraID NOT IN(9,10)
于 2011-11-07T20:14:16.873 回答