不多说 直接上语句
SELECT
a.id,
a.thumbNail,
a. NAME,
a.marketPrice,
a.memberPrice,
a.personName,
a. STATUS,
a.recieveOrderDate,
a.trackNumber,
a.contact,
a.reportSendDate,
b.trackNumber,
a.reportDownloadPath
FROM
(
SELECT
od.id,
ps.thumbNail,
ps. NAME,
od.marketPrice,
od.memberPrice,
od.personName,
od. STATUS,
od.recieveOrderDate,
ol.trackNumber,
ol.contact,
od.reportSendDate,
od.reportSendOrderLogisticId,
od.reportDownloadPath
FROM
orders.order_detail od
LEFT JOIN orders.order_logistics ol ON od.recieveOrderLogisticId = ol.id
LEFT JOIN orders.product_snapshot ps ON od.productSnapShotId = ps.id
WHERE
od.valid = TRUE
AND ol.valid = TRUE
AND od.orderId =?
) a
LEFT JOIN (
SELECT
ol.trackNumber,
od.id
FROM
orders.order_detail od
LEFT JOIN orders.order_logistics ol ON od.reportSendOrderLogisticId = ol.id
WHERE
od.valid = TRUE
AND ol.valid = TRUE
AND od.orderId =?
) b ON a.id = b.id
ps:解释下 对于Mysql中的语句,牵扯到左查询时 可以用left join关联 但一般对于不知道什么时候起别名 什么时候用括号的老铁们 真实头疼 所以发个模板 剩下的根据自己的业务具体实施。
本文提供了一个MySQL中的复杂查询实例,通过使用LEFT JOIN进行多表关联,并展示了如何正确使用子查询和表别名来简化SQL语句,适用于需要从订单详情中获取物流跟踪信息等场景。
1050

被折叠的 条评论
为什么被折叠?



