2016-07-07 95 views
0

我写过查询得到两列乘法和。写查询得到两列乘法的总和

select *,sum(op.qty*op.price) as total from `order` as o 
join order_products as op on op.order_id = o.order_id 
where o.user_id = 5 and o.order_id = 10 group by op.order_product_id 

我的输出看起来像 enter image description here

这里,作为图像显示我希望所有的记录,以及总的总和。

那么,我该怎么做?

+0

可以显示样本数据和预期的输出吗?帮助理解问题.. –

回答

0

我不得不改变我的查询作为

select 
t1.*, 
t2.total 
FROM 
(
    SELECT op.* 
    FROM `order` AS o JOIN order_products AS op ON op.order_id = o.order_id 
    WHERE o.user_id = 5 AND o.order_id = 10 
) as t1 
LEFT JOIN 
(
    SELECT sum(op.qty * op.price) as total 
    FROM `order` AS o JOIN order_products AS op ON op.order_id = o.order_id 
    WHERE o.user_id = 5 AND o.order_id = 10 
) as t2 
ON 1 = 1 

,并让导致这样

enter image description here

而这个查询完美运行。