嗨,我有一箇舊的表和新的表具有相同的索引/數據。 TABLE1和TABLE2如何比較兩個表格數據?
但TABLE1已經獲得比TABLE2更多的數據。這是由一個維護,我不知道這是如何發生的。所以我的問題是我如何比較這兩個表,並找到哪些數據是TABLE2失蹤?有幾乎20萬DATAS有人工手動操作是不可能的......
在PHP嗨,我有一箇舊的表和新的表具有相同的索引/數據。 TABLE1和TABLE2如何比較兩個表格數據?
但TABLE1已經獲得比TABLE2更多的數據。這是由一個維護,我不知道這是如何發生的。所以我的問題是我如何比較這兩個表,並找到哪些數據是TABLE2失蹤?有幾乎20萬DATAS有人工手動操作是不可能的......
在PHP解決方案,而嵌套查詢:
select TABLE1.id from TABLE1 left join TABLE2 on TABLE1.id = TABLE2.id where TABLE2.id is null
:
http://us.php.net/manual/en/function.array-diff.php
在SQL:
SELECT * FROM TABLE1 WHERE id {NOT} IN (SELECT id FROM TABLE2)
根據比較的標準
你的意思是這樣的:
SELECT * FROM TABLE1 t1 WHERE NOT EXISTS(SELECT * FROM TABLE2 WHERE t1.id == t2.id)
相同的索引我希望你的意思是他們共享一個主鍵?
SELECT * FROM表1 WHERE用戶名NOT IN(SELECT用戶名FROM表2)
你能解釋這一點? – mathew 2011-01-10 03:17:33
@mathew:這裏我選擇TABLE1中的管子,如果TABLE2中沒有相同ID的管子。我認爲你應該提供更多關於2個表格的信息。在這裏,我假設你的兩張桌子有相同的字段和結構。但是,從你的評論看來,這不太正確。 – 2011-01-10 03:23:04
好的將解釋..兩個表是相同的。我所看到的是兩個表都包含用戶的詳細信息,所以我想找到哪些用戶在表2中缺失 – mathew 2011-01-10 03:26:54