简体   繁体   English

联接两个表。 一列使用SUM

[英]Join two table. One column using SUM

I need a little help with a MySQL query. 我需要MySQL查询的帮助。

I have two tables one table is a list of product and one table is a list of warehouses quantity 我有两个表,一个表是产品列表,一个表是仓库数量列表

product: 产品:

product_id   product_name
1            name1
2            name2
3            name3

warehouse_product warehouse_product

id   warehouse_id   product_id   product_quantity
1    1              1            15
2    2              1            30
3    1              2            100
4    2              2            30
5    1              3            20
6    2              3            40

The results Im looking to get from the above data would be 我希望从上述数据中得到的结果是

product_id   product_name  product_quantity
1            name1         45
2            name2         130
3            name3         60

I've tried many query but it's not working. 我已经尝试了很多查询,但是没有用。 My query is: 我的查询是:

SELECT 
    product_id as product_id, SUM(quantity) as quantity
FROM
    (SELECT 
        p.product_id as product_id, wp.product_quantity as quantity
    FROM
        product as p
    LEFT JOIN warehouse_product as wp ON p.product_id = wp.product_id
    WHERE
        product_active = 1)

Try this: 尝试这个:

SELECT p.product_id, p.product_name, SUM(wp.quantity) as quantity 
FROM product as p 
LEFT JOIN warehouse_product as wp 
ON p.product_id = wp.product_id 
AND product_active = 1
GROUP BY p.product_id, p.product_name

After JOINing the two tables you need to use GROUP BY so that SUM of quantity can be calculated for each product. 连接两个表后,您需要使用GROUP BY使SUM量可以为每个产品进行计算。

SELECT P.productid, 
       P.ProductName, 
       Sum(W.product_quantity) As quantity
FROM   Product AS P 
       LEFT JOIN warehouse_product AS W 
              ON P.productid = W.productid 
GROUP  BY P.ProductId , P.ProductName

SQLFiddle SQLFiddle

select p.product_id,p.product_name,sum(product_quantity) as 'product_quantity'
from product p inner join warehouse_product whp on
whp.product_id=p.product_id group by whp.product_id
select p.product_id, p.product_name,sum(w.product_quantity)
from 
product p
inner join
warehouse_product w
on
p.product_id = w.product_id

group by w.product_id
order by p.product_name;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM