2011-01-10 115 views
0

嗨,我有一箇舊的表和新的表具有相同的索引/數據。 TABLE1和TABLE2如何比較兩個表格數據?

但TABLE1已經獲得比TABLE2更多的數據。這是由一個維護,我不知道這是如何發生的。所以我的問題是我如何比較這兩個表,並找到哪些數據是TABLE2失蹤?有幾乎20萬DATAS有人工手動操作是不可能的......

在PHP

回答

0

解決方案,而嵌套查詢:

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

你的意思是這樣的:

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

你能解釋這一點? – mathew 2011-01-10 03:17:33

+0

@mathew:這裏我選擇TABLE1中的管子,如果TABLE2中沒有相同ID的管子。我認爲你應該提供更多關於2個表格的信息。在這裏,我假設你的兩張桌子有相同的字段和結構。但是,從你的評論看來,這不太正確。 – 2011-01-10 03:23:04

+0

好的將解釋..兩個表是相同的。我所看到的是兩個表都包含用戶的詳細信息,所以我想找到哪些用戶在表2中缺失 – mathew 2011-01-10 03:26:54

0

相同的索引我希望你的意思是他們共享一個主鍵?

SELECT * FROM表1 WHERE用戶名NOT IN(SELECT用戶名FROM表2)