我想查询一个表格,如果它们的ID匹配,我想在同一列/列中对值进行求和。
表格如下:
id | product_id | attribute_id | production_price | warehouse_id | qty | sell_qty
----------------------------------------------------------------
1 | 1 | 111 | 100.0000 | 1 | 50 | 45
2 | 1 | 111 | 100.0000 | 2 | 40 | 40
3 | 2 | 222 | 100.0000 | 1 | 30 | 20
4 | 2 | 222 | 100.0000 | 2 | 20 | 20
我想要做的是将qty
和sell_qty
的值相加,如果相同的产品同时包含warehuse(warehouse_id 1/2)且product_id和attribute_id匹配。
结果是这样的:
product_id | attribute_id | production_price | qty | sell_qty
----------------------------------------------------------------
1 | 111 | 100.0000 | 90 | 85
2 | 222 | 100.0000 | 50 | 40
如果有可能,我该如何进行这样的查询呢?
答案 0 :(得分:0)
看起来你想要一个简单的group by
:
select product_id, attribute_id, production_price, sum(qty) qty, sum(sell_qty) sell_qty
from mytable
group by 1,2,3
答案 1 :(得分:0)
试试这个:
SELECT sum(qty),sum(sell_qty) from table where warehouse_id = 1 group by product_id;
如果在同一仓库内销售同一产品,它会将数量和销售数量相加
如果你想在select中添加更多字段,也可以在组中添加相同的