0

"table1"--->boodang_iphoneに含まれる---3000レコード

"table2"->boodang_iphonePushtest05302012テーブルには---90レコードが含まれます

'boodang_iphonePushtest05302012'で不一致値を取得する必要があります。table1を比較します。このようなクエリを記述します。

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

それならずっと良いでしょう。値が一致しない場合、2 番目のテーブルから NULL 値が返され、NULL 値を有効なデータと比較すると常に問題が発生するためです。

于 2012-06-01T05:26:41.313 に答える