2016-09-06 12 views
1

2つのテーブルがあります。表aおよびb。 Aには、msisdn、firstname、secondname、lastname、regdate(登録データ)が含まれています。表bにも同じフィールドがあります。これら2つのテーブル、msisdn、firstname、lastnameフィールドを比較したいと思います。テーブルAのmsisdn Xがjimとlastnameをhalpertとし、同じmsisdn Xがfirstnameをmichael、secondnameがscottという名前でテーブルBにある場合、これらの種類のmsisdnをクエリ結果として取得する必要があります。テーブルと名前の両方に同じmsisdnを持っています。これらの名前のいずれかが(最初または最後の)不一致であれば、結果として表示されるはずです。SQL 2つのテーブルのデータを比較し、2つのテーブル間で異なる結果を得る方法

シナリオを正確に説明していないと申し訳ありません。誰かがこれを理解して答えてくれることを願っています

感謝:)

答えて

2
SELECT A.*, B.* 
FROM TABLEA A 
INNER JOIN TABLEB B ON A.MSISDN = B.MSIDN 
WHERE A.firstname != B.firstname 
OR A.lastname != B.Lastname 
+0

ありがとうございました。これは完全に機能しています。また、最近のregdateを持つこれらの2つのテーブルで同じmsisdn Xのデータを取得する方法について教えてください。 –

+0

私は本当にその質問を理解していませんが、あなたが探している解決策は、WHERE regdate =(どこからテーブルからWHERE ...)を選択するのかが分かります。 – JDro04

+0

msisdn X is inテーブルAとテーブルBは2つの異なるregdateを持つ。私は両方のテーブルを照会し、最近のregdateを持つ結果を得る必要があります。テーブルAのX regdateが01/04/2016で、テーブルBのX regdateが01/08/2016です。これは、最新のregdateを持っているので、私はBからXの結果を取得する必要があります –

1
Select 
    * 
From 
    Table a 
join 
    Table2 b on a.msisdn = b.msisdn 
where 
    (a.firstname != b.firstname) OR (a.lastname != b.lastname) 
0

あなたのテーブルにはこれを試すことができます任意の外部キーがないされている場合:

SELECT tableA.*, tableB.* 
FROM tableA, tableB 
WHERE tableA.col1 != tableB.col1 
OR tableA.col2 != tableB.col2 

をあなたが望む任意のオペレータをオペレータに変更することができ、

多分それはプロに見えませんが、それは私にとっては簡単です:)

関連する問題