簡體   English   中英

根據條件 SQL 排除行

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM