5

私はこのようなテーブルを持っています。

PersonID, KvalifikationId
1         1
1         2
1         3
2         1
2         3

kvalifikation2を持たないすべての人を返すSQLクエリを記述したいと思います。

私が書いた

SELECT DISTINCT PersonID where NOT KvalifikationID = 2

しかし、これは人1と人2の両方を返します。kval2を持たないpersonIdのみを返すように選択するにはどうすればよいですか?

4

5 に答える 5

4
Declare @t table(PersonID int,KvalifikationId int)
Insert Into @t Select 1 ,1
Insert Into @t Select 1, 2
Insert Into @t Select 1,3
Insert Into @t Select 2 ,1
Insert Into @t Select 2,3

Select PersonId From @t

Except 

Select PersonID From @t where KvalifikationId = 2

結果

PersonId
2
于 2012-09-25T07:17:44.467 に答える
-1

これを試して。
SELECT DISTINCT PersonID from tableName
WHERE KvalifikationId NOT IN ('2');

于 2012-09-25T07:26:11.143 に答える