You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求:将销量减去RMA退货量并生成格式化结果(附SQL语句)

解决方案:计算产品净销量(销量减去退货量)

可以通过子查询+LEFT JOIN的方式将销量数据和退货数据关联,同时处理无退货记录的产品(避免NULL值影响计算),最终得到每个产品的净销量(销量-退货量)。以下是整合后的SQL语句:

SELECT
    s.PRODUCT_SKU,
    s.PRODUCT_DESCRIPTION,
    s.PRODUCT_SALES_NUMBER,
    COALESCE(r.RETURNED_AMOUNT, 0) AS RETURNED_AMOUNT,
    (s.PRODUCT_SALES_NUMBER - COALESCE(r.RETURNED_AMOUNT, 0)) AS NET_SALES_NUMBER
FROM
    (
        -- 原销量查询作为子查询
        SELECT 
            COUNT(*) AS PRODUCT_SALES_NUMBER, 
            Orders.SKU AS PRODUCT_SKU, 
            Orders.Description AS PRODUCT_DESCRIPTION
        FROM Orders
        GROUP BY PRODUCT_SKU
    ) s
LEFT JOIN
    (
        -- 原RMA退货查询作为子查询
        SELECT 
            COUNT(*) AS RETURNED_AMOUNT, 
            Orders.SKU AS PRODUCT_SKU, 
            Orders.Description AS PRODUCT_DESCRIPTION
        FROM Orders 
        INNER JOIN RMA ON Orders.OrderID = RMA.OrderID
        WHERE UPPER(Status) = "COMPLETE"
        GROUP BY PRODUCT_SKU
    ) r ON s.PRODUCT_SKU = r.PRODUCT_SKU
ORDER BY NET_SALES_NUMBER DESC
LIMIT 9;

关键说明:

  • LEFT JOIN:确保所有有销量记录的产品都能被纳入统计,哪怕该产品没有退货记录(此时退货量会被处理为0)。
  • COALESCE函数:将无退货时出现的NULL值转换为0,避免减法运算得到NULL结果。
  • 排序与限制:最终按净销量降序排列,保留前9条数据,和原查询的逻辑一致。

如果仅需统计有退货记录的产品,可将LEFT JOIN改为INNER JOIN,但这样会过滤掉无退货的产品。

内容的提问来源于stack exchange,提问作者gary.noyb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 08:45:28