[英]How to exclude a record from sql with specific value
我对我的SQL查询有疑问。 我需要排除其中包含值“ f”的所有行。
我尝试做
SELECT * FROM table WHERE type NOT IN ('f')
但这似乎不起作用。 任何帮助,将不胜感激
编辑:很抱歉,不清楚,
我的问题是这样的多行
name type
test1 f
test1 l
如果我将使用此查询,它仍然会返回我test1,但是我想要的是它返回NULL。 能做到吗?
您显然想查看其中没有其他同名行具有值f
select t1.*
from the_table t1
where not exists (select *
from the_table t2
where t1.name = t2.name
and t2.type = 'f');
如果没有这样的行,查询将不会返回null
,它将根本不返回任何行。
使用HAVING
子句:
SELECT s.name
FROM YourTable s
GROUP BY s.name
HAVING COUNT(CASE WHEN s.type = 'f' THEN 1 END) = 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.