[英]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.