2011-01-10 4 views
0

こんにちは私は古いテーブルと同じインデックス/データを持つ新しいテーブルを持っています。 TABLE1とTABLE22つのテーブルデータを比較するにはどうすればよいですか?

しかし、TABLE1はTABLE2より多くのデータを持っています。これはいくつかの人によって維持されていたし、私はこれがどうなったのか分からない。だから私の質問は、どのように私はこれらの2つのテーブルを比較し、TABLE2欠けているデータを見つけるのですか?そこにはほとんど200000件のデータを手動で行うがあることはできません... PHPで

答えて

0

ソリューションTABLE1 FROM

SELECT *:

select TABLE1.id from TABLE1 left join TABLE2 on TABLE1.id = TABLE2.id where TABLE2.id is null 
+0

これは大きなファイルのために働きます。 – mathew

0

の基準に応じてあなたは次のような意味ですか:

SELECT * FROM TABLE1 t1 WHERE NOT EXISTS(SELECT * FROM TABLE2 WHERE t1.id == t2.id) 
+0

あなたはこの少しを説明できますか? – mathew

+0

@mathew:ここでは、TABLE2に同じidのチューブがない場合、TABLE1のチューブを選択します。私はあなたが2つのテーブルに関するより多くの情報を提供すべきだと思います。ここでは、2つのテーブルが同じフィールドと構造を持っていると仮定します。しかし、(それはあなたのコメントから)かなり正しいとは思われません。 –

+0

okが説明します。どちらのテーブルも同じです。私が見ているのは両方のテーブルにユーザーの詳細が含まれているので、テーブル2に見つからないユーザーが見つかるようにします。 – mathew

0

同じインデックスで私は彼らがプライマリキーを共有していると思いますか?ユーザ名NOT IN(TABLE2からユーザー名を選択)ネストされたクエリのない

+0

いいえ、インデックスはユーザ名でオンです。言うTable1-> usrnm-> James – mathew

+0

私は編集しました。基本的にTABLE1の行がそのユーザー名で行を持っていないことを確認したいのですが、そうですか? –

+0

はい、あなたは正しいです... – mathew

関連する問題