0

我有几个表如下

orders table
-----------------------------
 id_order         no_order
-----------------------------
   1               0000001
   2               0000002
   3               0000003
-----------------------------

item_order table
-------------------------------------------
 id_item_order    id_order   product_name
-------------------------------------------
    1               2         Product X
    2               2         Product Y
    3               2         Product Z
    4               2         Product W
-------------------------------------------

faktur_pemuatan table
-------------------------------------------
 id_faktur_pemuatan     id_item_order
-------------------------------------------
  1                      1
-------------------------------------------

如上表所示,订单中的 item_order 很少。如果 item_order 表中的数据不包含在 faktur_pemuatan 表中,则会出现订单 id_item_order item_order 为 1、2、3、4 的数据,但如果 faktur_pemuatan 表中包含 item_order 中的任何数据,例如。item_order id_item_order eg '1' 已包含在表 faktur_pemuatan 中,则数据不会显示订单。如何解决这个问题,应该使用什么分支 if 或 case,如果是如何查询上述问题。请帮我。如果您能帮助我,我将不胜感激。

4

1 回答 1

0

尝试这个:

SELECT
    O.*, I.*
FROM orders O
    JOIN item_order I
        ON O.id_order = I.id_order
    LEFT JOIN faktur_pemuatan F
        ON I.id_item_order = F.id_item_order
WHERE F.id_faktur_pemuatan IS NULL

SQL 小提琴演示

于 2013-02-07T15:40:15.833 回答