[英]Excluding rows based on criteria SQL
我正在尋找一些幫助來弄清楚如何刪除第 1 列 = a 如果第 2 列也 = a 的所有行。
這很難描述,所以我將在下面使用一個例子。
1 2
a b
a a
a null
b c
b e
c c
d f
d a
d e
上表是當前存在的內容,我正在編寫一個查詢,該查詢給出以下結果
1 2
b c
b e
d f
d a
d e
如果它們中的任何一個匹配,即列 1 = 列 2 = a,則應刪除列 1 = a 的所有行。 有沒有辦法做到這一點?
TIA
您似乎想要col1
沒有col1 = col2
行的行。 如果這是一個正確的解釋,您可以使用子查詢:
select t.*
from t
where not exists (select 1
from t t2
where t2.col1 = t.col1 and
t2.col1 = t2.col2
);
您可以使用<> (not)
運算符嘗試以下查詢。
Select * from Yourtable where [Col1] <> [Col2] and Col1 <> 'a'
這是現場db<>fiddle演示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.