Mysql 如何根据其他选择的结果进行查询以选择某个内容?

Mysql 如何根据其他选择的结果进行查询以选择某个内容?,mysql,sql,Mysql,Sql,我有三张桌子:订单、采购订单和销售订单。表orders有两列:外键order\u id和order\u numb。Order\u id是采购订单或销售订单的id,Order\u numb在这里只是为了说明它是关于什么订单的 订单编号=1这是采购订单 订单号=2这是销售订单 因此,我需要从表订单中进行选择,对于每一行,检查其订单号是否为1或订单号是否为2,并根据该结果根据其id从采购订单或销售订单中进行选择 我可以用两个查询来实现,但我想用一个查询来实现 ORDER | order_id | a

我有三张桌子:订单、采购订单和销售订单。表orders有两列:外键order\u id和order\u numb。Order\u id是采购订单或销售订单的id,Order\u numb在这里只是为了说明它是关于什么订单的

订单编号=1这是采购订单 订单号=2这是销售订单

因此,我需要从表订单中进行选择,对于每一行,检查其订单号是否为1或订单号是否为2,并根据该结果根据其id从采购订单或销售订单中进行选择

我可以用两个查询来实现,但我想用一个查询来实现

ORDER

| order_id | action_numb |
--------------------------
|    51    |      1      |
--------------------------
|    40    |      2      |
--------------------------
|    41    |      2      |
--------------------------
|    52    |      1      |


PURCHASE_ORDER      

| id | other_columns |
----------------------
| 51 |   something   |
----------------------
| 52 |   something   |


SALE_ORDER      

| id | other_columns |
----------------------
| 40 |   something   |
----------------------
| 41 |   something   |
----------------------

假设从两个表中选择相同的列,则可以使用UNION来完成任务

SELECT o.id,<other-columns>
    FROM order o INNER JOIN purchase_order po 
    ON o.id = po.id 
    WHERE o.action_numb = 1 

    UNION

    SELECT o.id,<other-columns>
    FROM order o INNER JOIN sale_order so 
    ON o.id = so.id 
    WHERE o.action_numb = 2 

假设从两个表中选择相同的列,则可以使用UNION来完成任务

SELECT o.id,<other-columns>
    FROM order o INNER JOIN purchase_order po 
    ON o.id = po.id 
    WHERE o.action_numb = 1 

    UNION

    SELECT o.id,<other-columns>
    FROM order o INNER JOIN sale_order so 
    ON o.id = so.id 
    WHERE o.action_numb = 2 

我没有得到任何结果我没有得到任何结果