1

我试过搜索这个问题,但在描述它时遇到了一些麻烦。

我有两张桌子,order_items并且processes是一对多的关系。单个订单项目可以有多个流程。我希望从中选择行order_items中没有对应的行processes等于一个数字,比如 1、2 或 3。order_items如果没有对应的行,我仍然想返回其中的行processes,即空值。

举个例子

`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

我希望进行的查询不会返回 item_number 1,因为它在 (1, 2, 3) 中有 process_number,但会返回项目编号 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 回答