如果单个列不满足某个条件,请选择一列的值

时间:2017-01-15 18:39:35

标签: sql

我有一张类似

的表格
player:string | team:string | position:string

jim  | packers  | qb

jack | patriots | rb

mark | texans   | te

tim  | packers  | wr

我想选择没有玩“qb”位置的球员的球队名称。在这种情况下,结果将输出球队名称爱国者和德克萨斯人。以下是我目前的情况。

select distinct team
from Players
where position <> 'qb'
group by team

1 个答案:

答案 0 :(得分:1)

您需要检查所形成的每个组的<> 'qb',因此它不在普通where子句中,因为这适用于整个表格。我会用子查询来写这个:

select distinct team
from Players
where team not in (
    select team
    from Players
    where position = 'qb'
);