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

如何关联两张表并统计商品在盘点日期当日的销售数量

SQL 实现语句

你可以直接执行以下语句生成所需的SALES_AT_CHECK_DAY表:

CREATE TABLE SALES_AT_CHECK_DAY AS
SELECT 
    p.*,
    COALESCE(s.sales, 0) AS sales
FROM PRODUCTS p
LEFT JOIN (
    -- 子查询统计每个商品每日的销售总量
    SELECT 
        product_id,
        sale_date,
        COUNT(*) AS sales
    FROM SALES
    GROUP BY product_id, sale_date
) s 
-- 同时匹配商品ID和「盘点日期=销售日期」两个关联条件
ON p.product_id = s.product_id 
AND p.date_checked = s.sale_date;
逻辑说明
  • 内层子查询先对SALES表按product_id、sale_date两个字段分组,用COUNT(*)计算得到每个商品在对应日期的销售总笔数
  • 外层用PRODUCTS表作为主表关联统计结果,关联条件同时匹配商品ID和日期,确保取到的是对应商品盘点当日的销量数据
  • 如果不需要保留盘点当日无销售记录的商品,把LEFT JOIN替换为INNER JOIN即可,执行结果和你给出的示例完全一致
  • COALESCE函数的作用是把无销量商品的NULL值自动填充为0,避免结果出现空值

内容的提问来源于stack exchange,提问作者Marcos Dias

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 17:39:03