首页 > 解决方案 > 根据条件 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

标签: sqlsql-serversql-server-2017

解决方案


您可以使用运算符尝试以下查询<> (not)

Select * from Yourtable where [Col1] <> [Col2] and Col1 <> 'a'

这是现场db<>fiddle演示。


推荐阅读