【发布时间】:2020-06-07 13:24:00
【问题描述】:
我有名为orders 和notifications 的表。当管理员更新任何订单状态时,它会存储在notifications 表中,并且orders 表的updated_at 值会更新(显示在顶部)。
这是我的桌子:
orders:
id, order_number, ..., updated_at
notifications:
id, order_id, order_status, remarks
在orders 页面上,我需要显示最新的order_status 和remarks 的订单。
SELECT
`orders`.`token`,
`orders`.`order_number`,
`orders`.`order_date`, (
SELECT SUM(`mrp` * `quantity`) FROM `order_items`
WHERE `order_id` = `orders`.`id`
) AS `total`, (
SELECT `order_status` FROM `notifications`
WHERE `order_id` = `orders`.`id`
ORDER BY `id` DESC
LIMIT 0, 1
) AS `status`
FROM `orders`
WHERE `orders`.`company_id` = 1
AND `orders`.`user_id` = 5
GROUP BY `orders`.`id`
ORDER BY `orders`.`updated_at` DESC
sub-query 只能返回 1 列。有没有办法在单个查询中获取 order_stat 和 remarks。我的意思是不添加任何其他子查询或在循环中点击另一个查询。?
【问题讨论】:
标签: mysql subquery multiple-columns