2011-01-10 116 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)