2017-12-20 13 views
0

最初のテーブルから一意の行を比較したいと思う2つのデータテーブルがあるとします。左結合によるデータセットの比較ただし、ヌルによる結果への影響の防止

両方のテーブルが同じ構造を共有:私はからユニークな行を見つけるために、次のクエリを使用し

product_id sku  title 
111  SKU-111 Fizzy Sweets 
222  SKU-222 Fizzy Pop 
225  225-SKU NULL 

table_twoサンプルデータ

product_id sku  title 
111  SKU-111 Sweets 
222  SKU-222 Fizzy Pop 
225  225-SKU NULL 

product_id mediumint(9) PRIMARY KEY 
sku varchar(20) DEFAULT '' 
title text DEFAULT '' 

table_oneサンプルデータを最初のテーブル:

以下の結果得られ
SELECT a.product_id, a.sku, a.title FROM table_one a LEFT JOIN table_two b ON a.product_id = b.product_id AND a.sku = b.sku AND a.title = b.title WHERE b.sku IS NULL; 

: PRODUCT_ID SKUタイトル 111 SKU-111発泡性スウィーツ 225 225-SKU NULLを

代わりに私がされるであろう何をしたいの

product_id sku  title 
111  SKU-111 Fizzy Sweets 

提案?

答えて

1

また、a.title IS NOT NULLを確認する必要があります。

SELECT a.product_id, a.sku, a.title, b.title as t2 
FROM table_one a 
LEFT JOIN table_two b ON (
    a.product_id = b.product_id 
    AND a.sku = b.sku AND a.title = b.title 
) 
WHERE b.title IS NULL 
AND a.title IS NOT NULL 

SQLフィドルhttp://sqlfiddle.com/#!9/2a496a/6

+0

ブラボー。どうもありがとうございました。 –

関連する問題