创建包含总计的报告

问题描述 投票:0回答:1

我需要创建一个摘要报告。我有两张桌子,包括产品和订单。我想创建这个:

从两个表:

制品

命令

我尝试了这个问题:

 SELECT round(SUM(price),2),0)
FROM products, orders
WHERE products.id_products = orders.id_products AND MONTH(orders.date) = 1 AND YEAR(orders.date) = '2019'
GROUP BY products.type

对于每个月,但是当给定月份中不存在产品类型时,我会遇到问题。

有人有任何解决方案来生成这样的报告吗?

php mysql sql summary totals
1个回答
1
投票

使用条件聚合:

SELECT
    p.type_product,
    SUM(CASE WHEN YEAR(o.date) = 2019 AND MONTH(o.date) = 1 THEN o.price ELSE 0 END) January,
    SUM(CASE WHEN YEAR(o.date) = 2019 AND MONTH(o.date) = 2 THEN o.price ELSE 0 END) February
FROM 
    products p
    INNER JOIN orders o ON oid_product. = p.id_product
GROUP BY p.type_product
© www.soinside.com 2019 - 2024. All rights reserved.