1

この質問を検索してみましたが、説明するのに苦労しました。

2 つのテーブルがorder_itemsありprocesses、1 対多の関係にあります。1 つの注文項目に対して多くのプロセスが存在する場合があります。order_itemsに対応する行が1、2 processes、または 3 と等しい行を選択したいと考えています。order_itemsprocesses

例として

`order_items`
item_number     order_value
    1               10
    2               20
    3               10


`processes`
item_number    process_number
    1               1
    1               4
    2               4
    2               5

私が作成したいクエリは、(1、2、3) に process_number があるため item_number 1 を返しませんが、アイテム番号 2 と 3 を返します。

Results
item_number    order_value
    2              20
    3              10
4

1 に答える 1

1

次のようなことを試してください:

SELECT *
FROM order_items o
WHERE item_number NOT IN (
    SELECT item_number
    FROM processes
    WHERE process_number IN (1, 2, 3)
    )

sqlfiddle demo

于 2013-11-15T02:06:15.773 に答える