我有 4 个表,Transactions、Orders - SuperType,然后是 Site_Orders 和 Product_Orders SubType
[Transactions]
id PK
Orders_id [FK Orders.orders_id]
[Orders]
Orders_id PK
Orders_type
[Site_Orders]
Orders_id [FK Orders.orders_id]
== other data ==
[Product_Orders]
Orders_id [FK Orders.orders_id]
== other data ==
我的问题是,我如何创建一个连接语句来提取事务并关联并从 subType 表中获取正确的信息?或者我必须使用 PHP 来检查子类型并在那里完成逻辑吗?
谢谢
最佳答案
SELECT ...
FROM Orders o
JOIN Transactions t ON t.Orders_id = o.Orders_id
LEFT OUTER JOIN Site_Orders so
ON so.Orders_id = o.Orders_id AND o.Orders_type = 'S'
LEFT OUTER JOIN Product_Orders po
ON po.Orders_id = o.Orders_id AND o.Orders_type = 'P'
关于database - 如何根据子类型在查询中选择表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3713720/