0

まず、EANコード(特別なものはなく、数値コードのみ)を含む製品データを含むmysqlテーブルがあります。

次に、EANコード値のリストがあります。このリストはどのテーブルにも保存されず、ユーザー入力によって作成されます。

最初にEANリストをテーブルに保存せずに、製品テーブルに存在しないリストからすべてのEANコードを見つける方法はありますか?

たとえば、productsテーブルに次のデータがあるとします。

id: 1, ean: 12345
id: 2, ean: 23456

そして比較するリスト:

12345,23456,88888,99999

この場合、望ましい結果は次のようになります。

88888,99999.
4

1 に答える 1

0

解決策は次のとおりです。

SELECT tmp_list.ean FROM (
                          SELECT 12345 AS ean UNION
                          SELECT 23456 AS ean UNION
                          SELECT 88888 AS ean UNION
                          SELECT 99999 AS ean
                         ) AS tmp_list
                    WHERE ean NOT IN (
                                       SELECT ean FROM table_name
                                     )

リスト要素の数が少ない場合に役立ちます。

于 2012-07-18T09:19:16.277 に答える