2017-11-16 5 views
0

SQL選択条件:値1 <>下記の条件でのテーブルから値を選択することが可能かどうかを知るためにあなたの助けが必要値2

表の内容:マッチング2の間でオブジェクト (Id_obj_A; name_obj_A; country_obj_A ; Id_obj_B; name_obj_B; country_obj_B)

Select * 
from table 
Where (only if country_obj_A <> country_obj_B) 

あなたの助けに感謝

+0

を何データ型ですか? int?string? –

+0

単なるテーブルですか?もしそうなら、where句が 'WHERE country_obj_A <> country_obj_B'であることを除いて、あなたが書いたものに何も問題はありません。 –

+0

データは異なるテーブルにあります:Object_A =エンティティのデータベースのデータベースObject_B =エンティティ情報を検証するために使用される別のデータベースのエンティティアカウント(グローバルデータベース) テーブル:#Actct_ID、Acct_name、Acct_country TableB:#Actct_ID、Acct_name、 Acct_country 表C:#tableA.Acct_ID; #tableB.Acct_ID - >両方のデータベースのアカウント間の一致が含まれています アカウントの国で一致しないアカウントを抽出する必要があります 両方のテーブル間で結合を使用するかどうかは推測できます1つのテーブルを使用する場合は同じロジックで、条件は同じにする必要があります。 –

答えて

0

はい。いくつかの方法がありますが、一つはこのようNOT EXISTSを使用することです:LEFT JOINはその後、結合された行除外する使用して、NOT IN

select 
     * 
from tableA 
where country_obj_A NOT IN (
    select country_obj_B 
    from tableB 
    ) 

を使用したり

select 
     * 
from tableA 
where NOT EXISTS (
    select NULL 
    from tableB 
    where tableB.country_obj_B = tableA.country_obj_A 
    ) 

または、:

select 
     * 
from tableA 
left join tableB on tableA.country_obj_A = tableB.country_obj_B 
where tableB.country_obj_B IS NULL 
+0

ooops、ありがとう、stoopid me –

+0

OPは実際に2つのテーブルを扱っていますか? –

+0

あなたのフィードバックのために多くの感謝^^ 私はテストをしたら、あなたに知らせるつもりです(私はVPNコネクションに問題があります^^:サーバーに接続してSQLクエリを昼食にすることはできません) –

関連する問題