0

“table1”---> boodang_iphone 包含---3000 条记录

“table2”--> boodang_iphonePushtest05302012 表包含 ---90 条记录

我需要在'boodang_iphonePushtest05302012'比较表1中获取不匹配值我这样写查询

SELECT boodang_iphonePushtest05302012.devicetoken 
FROM boodang_iphonePushtest05302012
left outer join boodang_iphone  on 
    boodang_iphone.devicetoken=boodang_iphonePushtest05302012.devicetoken 
where 
    boodang_iphonePushtest05302012.devicetoken != boodang_iphone.devicetoken

我很困惑它是否提供正确的数据或没有任何人可以指导我使用连接获取不匹配值

4

1 回答 1

1

此查询为您提供存在于boodang_iphonePushtest05302012但不存在于 中的所有记录boodang_iphone。但是,您需要通过交换表再次运行查询,因此它将为您提供所有存在boodang_iphone但不存在的记录boodang_iphonePushtest05302012(相反,您可以使用相同的查询,但通过右外连接加入表)。然后你应该得到比较的完整结果。

另外,如果您可以将 where 子句更改为

where boodang_iphone.devicetoken IS NULL

那么会好很多。这是因为如果值不匹配,那么它将从您的第二个表中返回 NULL 值,并且如果您将 NULL 值与有效数据进行比较,它总是会出现问题。

于 2012-06-01T05:26:41.313 回答