2012-01-24 3 views
0

3つのストアは、3つのMysqlテーブルに記録された年間購入アイテムです。他の2つのストアで購入されていないストアでどのアイテムを購入したかを調べる簡単なSQLステートメントがありますか?私は複数のSQL文と比較を行うことによってそれを行うことができます。どんな助けも歓迎されます。3つのテーブルと1つのテーブルに固有のリストレコードの比較のためのSQL

、表A、B、C - レコードの一覧= A - (ABC) - (AB) - 特に連結に関する(AC)

+0

持っていますか? –

答えて

0

構文は、間違いなく間違っている必要があります(私がテストするための方法はありません)しかし、あなたは、この概念を試みる場合があります。各店舗では、それは自分のテーブルだ

SELECT itemId From A Where itemId Not In (Select Concat(itemId,',') From B Union Select Concat(itemId,',') From C) Union SELECT itemId From B Where itemId Not In (Select Concat(itemId,',') From A Union Select Concat(itemId,',') From C) Union SELECT itemId From C Where itemId Not In (Select Concat(itemId,',') From B Union Select Concat(itemId,',') From A)

+0

実際に実行される擬似コードを書いて、それを信じることはできません:) iPhoneでテストしたところ、30分続いていましたが、少なくとも整数型のitemIdで動作しました。 (itemld、 '、')からB UNION SELECT CONCAT(itemId、 '、')からC)を使用して、 ユニオン SELECT itemId From B where itemId Not In(UNIT SELECT CONCAT(itemId、 '、')からCを選択します。 ユニオン SELECT itemId C from itemId Not In (itemId、 '、')からB UNION SELECT CONCAT(itemId、 '、')A)から ' – pong

関連する問題