arc*_*ank 2 sql t-sql sql-server
表有
User Value
john 284
john 200
john 5
sally 245
sally 180
sally 10
bill 90
bill 1000
bill 284
greg 10
greg 90
greg 2000
Run Code Online (Sandbox Code Playgroud)
例如,如果User的值为284,那么我希望结果集不包含他我不知道如何检查User的所有行以查看是否存在284值,然后在结果集中不显示该用户在那儿.结果集应该是不同的.
最终结果集应该是
User
greg
sally
Run Code Online (Sandbox Code Playgroud)
用途not exists:
select distinct
user
from
users u
where
not exists (
select
1
from
users u2
where
u2.user = u.user
and u2.value = 284
)
Run Code Online (Sandbox Code Playgroud)
这样做是它抓住一切从用户的users表,他们没有与该值的行284的users表.您也可以exists作为一个converse(仅查找具有284值的用户).
此外,使用distincton select来限制返回其唯一值的用户.
Select distinct User from table
where User not in ( Select User from table
where value =284)
Run Code Online (Sandbox Code Playgroud)