(SQL-T-SQL) Выберите команду, чтобы иметь только определенные значения? - PullRequest
0 голосов
/ 08 ноября 2011

Вот мой стол 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 * 1 026 * 130; 10 * +1027 * 140; 0 * 1 028 * 140; 1
140; 3
150; 0
150; 2 * +1032 * 150; 6 * * один тысяча тридцать три 150; 7
150; 8 * 1 035 * 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 * 1 049 * 180; 7
180; 10 * * тысяча пятьдесят один 185; 0 ​​
185; 1 * * тысяча пятьдесят-три 185; 7
185; 10
190; 0
190; 2

Я хотел бы знать, как иметь только AppID , который не имеет 9 и 10 AppExtraID

Спасибо!

Ответы [ 4 ]

2 голосов
/ 08 ноября 2011

Я вижу, к чему вы клоните ...

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

Внутренний выбор идентифицирует все идентификаторы приложений, которые имеют 9 или 10 дополнительных.Эти строки затем будут исключены из основного выбора.Любой AppID, связанный с 9 или 10, будет удален, даже если у них есть еще один дополнительный идентификатор.

2 голосов
/ 08 ноября 2011
select distinct AppId
from app_extra
where AppExtraID not in (9, 10)

Изменено в соответствии с желанием вашего комментария.

1 голос
/ 08 ноября 2011

Чтобы получить уникальный список AppID, которые удовлетворяют требованию:

SELECT AppID 
FROM   tbl
WHERE  AppExtraID NOT IN (9, 10)
GROUP  BY 1
0 голосов
/ 08 ноября 2011
SELECT DISTINCT AppID FROM app_extra WHERE AppExtraID NOT IN(9,10)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...