如何检索表中两个特定列中的值不同的所有行

时间:2017-03-10 20:50:42

标签: sql sql-server tsql syntax-error row

我想检索表中RecipCodeCmte列中的值与RecipCodeIndiv列中的值不同的表中的所有行。这两列都存在于同一个表中(称为测试)。以下是我尝试构建此类查询:

select *
from test
EXCEPT RecipCodeCmte=RecipCodeIndiv

这是错误:

Msg 102, Level 15, State 1, Line 5
Incorrect syntax near 'RecipCodeCmte'.

我正在使用Microsoft SQL Server 2016 Management Studio。

1 个答案:

答案 0 :(得分:1)

因为评论越来越长......

select *
from test
where RecipCodeCmte <> RecipCodeIndiv

您也可以使用!=,但<>更常被接受。

如果要基于另一个表进行排除,则使用

EXCEPT()。即。

select id
from table1
except
select id
from table2

这将返回仅在table1中的ID(也不在table2中)