2017-03-10 17 views
0

RecipCodeCmte列の値がRecipCodeIndiv列の値と異なる表のすべての行を取得したいとします。これらの列は両方とも同じテーブルにあります(テストと呼ばれます)。ここでは、このようなクエリを構築する時、私の試みです:特定の2つの列の値が異なるテーブル内のすべての行を取得する方法

select * 
from test 
EXCEPT RecipCodeCmte=RecipCodeIndiv 

をここではエラーです:

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

私は、Microsoft SQL Serverの2016 Management Studioを使用しています。

+2

を返します。 –

+0

値が等しいときにどのようにクエリを記述しますか?または、ある列の値がある一定の値に等しいとき? – mustaccio

+0

@mustaccio私は 'WHERE RecipCodeCmte = RecipCodeIndiv'と書いています –

答えて

1

コメントが長くなっているので...

select * 
from test 
where RecipCodeCmte <> RecipCodeIndiv 

また!=<>しかし、より一般的に受け入れられているを使用することができます。

EXCEPT()は、別のテーブルに基づいて除外する場合に使用します。 `WHERE`、` <> `:すなわち

select id 
from table1 
except 
select id 
from table2 

これがヒント(table2の中にもありません)TABLE1にだけあるのIDの

+0

私はコメントに書いたwhere句とどう違うのですか? –

+0

そうではないので、私はあなたがそれを実行することを主張したのです。 @anang – scsimon

関連する問題