1 回答
TA贡献1795条经验 获得超7个赞
看来您可能想要UNION存储结果,然后再将其存储JOIN到Orders表中。通过使用UNION而不是UNION ALL,我们只能选择不同的orderIdHash值,从而确保Order结果表中的每一行仅获得一行。像这样的东西:
SELECT o.dateShipped AS orderShipped,
o.shipped AS shipped,
o.recieved AS recieved
FROM (SELECT customerId, orderIdHash
FROM (SELECT customerId, orderIdHash FROM StoreA
UNION
SELECT customerId, orderIdHash FROM StoreB
UNION
SELECT customerId, orderIdHash FROM StoreC
UNION
SELECT customerId, orderIdHash FROM StoreD
) stores
WHERE customerId = :customerId) c
JOIN OrdersHash oHash ON oHash.orderIdHash = c.orderIdHash
JOIN Orders o ON o.orderId = oHash.orderId
- 1 回答
- 0 关注
- 159 浏览
添加回答
举报