【问题标题】:finding total sales and total products from 2 tables, includes a little concatenation从 2 个表中查找总销售额和总产品,包括一些连接
【发布时间】:2011-06-30 08:47:57
【问题描述】:

我有一个产品表,包含以下字段

productid
name
price
catid
deleted      (can be any one from 'y' and 'n')

还有一张销售表

salesid
productid
salestime
paymentstatus   (enum, can have any one value: COMPLETED, REMAINING, CANCELLED)

现在我需要以下格式的数据

catid         productids          totalproducts           totalsales

在哪里

productids:这将列出已删除 = 'n' 并属于特定类别的所有产品 id(逗号分隔)

totalproducts:属于特定类别的产品,其中deleted = 'n'

totalsales:销售额,其中产品属于特定类别,paymentstatus = 'COMPLETED'

任何帮助。

【问题讨论】:

标签: mysql sql


【解决方案1】:

通过此查询,您将获得产品被删除的特定类别的总销售额。

无论产品的状态如何,您是想要这个还是想要一个类别的所有销售额?

SELECT p.catid AS catid, 
       GROUP_CONCAT(DISTINCT p.productid SEPARATOR ',') AS productids, 
       COUNT(DISTINCT p.productid) AS totalproducts, 
       COUNT(s.salesid) AS totalsales
FROM products p
    LEFT OUTER JOIN sales s
        ON s.productid = p.productid
        AND s.paymentstatus = 'COMPLETED'
WHERE p.deleted = 'n'
GROUP BY p.catid

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-16
    • 2020-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多