我有以下表格(它们都有更多的列,但我只是显示感兴趣的列):
Product Order details Orders
---------------------------- ---------------------------- --------------
| id_product | id_supplier | | id_order | id_product | | id_order |
| 12 | 2 | | 1 | 56 | | 1 |
| 32 | 4 | | 2 | 32 | | 2 |
| 56 | 2 | | 2 | 56 | | 3 |
| 10 | 1 | | 4 | 56 | | 4 |
---------------------------- | 3 | 12 | --------------
----------------------------
我想要做的是选择所有只有一个或多个供应商的产品的订单。因此,假设我想要所有只有来自供应商 id 为 2 (id_supplier = 2) 的产品的订单,我应该得到 id 为 1、3 和 4 的订单。
如果我想要所有只有来自供应商 id 为 4 (id_supplier = 4) 的产品的订单,我应该得到一个空的结果。
如果我想要所有只有id 为 2和4 的供应商的产品的订单,我应该得到 id 为 2 的订单。
我已经阅读了以下问题:mySQL 独占记录,但是当我有两个像我这样的表时,我无法掌握该查询的工作原理。我只需要另一双眼睛来帮助我!:)
你知道我会怎么做吗?
编辑:为了明确起见,我想获取仅包含来自一个或多个指定供应商的产品的所有订单。不包括指定的其他供应商的产品订单。