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

按ROUTE_ID、CUST_ID、PROD_ID合并日期CASUAL字段的SQL求助

解决方案

你需要对原查询中的日期字段使用聚合函数,并按ROUTE_ID、CUST_ID、PROD_ID进行分组,以此合并相同分组下各日期的CASUAL值。修改后的SQL如下:

SELECT
    ROUTE_ID,
    CUST_ID,
    PROD_ID,
    SUM(CASE WHEN DAY = '1' THEN CASUAL ELSE 0 END) AS sun_draw,
    SUM(CASE WHEN DAY = '2' THEN CASUAL ELSE 0 END) AS mon_draw,
    SUM(CASE WHEN DAY = '3' THEN CASUAL ELSE 0 END) AS tues_draw,
    SUM(CASE WHEN DAY = '4' THEN CASUAL ELSE 0 END) AS wed_draw,
    SUM(CASE WHEN DAY = '5' THEN CASUAL ELSE 0 END) AS thur_draw,
    SUM(CASE WHEN DAY = '6' THEN CASUAL ELSE 0 END) AS fri_draw,
    SUM(CASE WHEN DAY = '7' THEN CASUAL ELSE 0 END) AS sat_draw
FROM
    SUPPLIES 
WHERE
    PUBDATE BETWEEN DATEADD(DAY, -7, GETDATE()) AND GETDATE() 
    AND CASUAL > 0 
    AND CUST_ID = 17259
GROUP BY
    ROUTE_ID,
    CUST_ID,
    PROD_ID

关键说明:

  • 用SUM()函数包裹每个CASE表达式,将同一分组(相同ROUTE_ID、CUST_ID、PROD_ID)下对应日期的CASUAL值累加合并。
  • 将ROUTE_ID加入SELECT列表和GROUP BY子句,满足按该字段分组的要求。
  • 把原查询中的ELSE '0'改为ELSE 0(去掉引号),避免字符串转数值的潜在问题,确保聚合计算正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 03:55:00