SQL将子查询的结果与其他结果相乘

时间:2016-07-31 21:44:03

标签: sql sum

正如你可以从标题中看到的那样,我无法说出我想要做的事情。基本上我有2个表:

--offers--
offer_id varchar 
offer_price int

--carts--
user_name varchar 
offer_id varchar
offer_count int

现在我想得到购物篮(购物车)中所有商品的总价。我到目前为止:

select sum(offer_price) from offers where offer_id IN 
(
    select offer_id from carts where user_name='root'
);

然而,这种方法完全忽略了购物篮的offer_count值。我该如何实现? (我在SQL方面相对缺乏经验)

1 个答案:

答案 0 :(得分:1)

您应该加入表格:

select
    sum(c.offer_count *  o.offer_price) total
from carts c
    join offers o
on c.offer_id = c.offer_id
where c.user_name = 'root'