首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按子句分组陈述

按子句分组陈述
EN

Stack Overflow用户
提问于 2021-11-09 02:41:24
回答 1查看 558关注 0票数 0

然而,我的当前查询工作正常,但我似乎无法获得另一个列名来解释数据是什么。

查询:

代码语言:javascript
复制
SELECT 
    SUM(item_subtotal) AS rev
FROM 
    [ADAS].[dbo].[ADAS_ORDERS] x
LEFT JOIN 
    ADAS.dbo.ADAS_SUBSCRIPTIONS y ON x.SUBSCRIPTION_KEY = y.SUBSCRIPTION_KEY
                                  AND x.CUSTOMER_ID = y.customer_id
                                  AND x.ITEM_NUM = y.ITEM_NUM
WHERE
    x.ORDER_DATE BETWEEN '10-01-2021' AND '10-31-2021'
    AND x.ORDER_STATUS = 'success' 
    AND x.IMPULSE_FLG = 'n'
GROUP BY
    CASE 
        WHEN y.OFFER_ID IS NULL 
            THEN 'Null' 
        WHEN y.OFFER_ID IN ('1882', '1883', '4554', '4576') 
            THEN 'in-store' 
        ELSE 'web'  
    END
ORDER BY 
    1

结果

我如何让另一列有一个名字?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-09 03:18:24

您可以尝试在选择/投影中包含组中的案例表达式。

代码语言:javascript
复制
SELECT 
sum(item_subtotal)as rev,

  case when y.OFFER_ID is null then 'Null' 
  when y.OFFER_ID in('1882','1883','4554','4576') then 'in-store' else 'web' end as offer_location

  FROM [ADAS].[dbo].[ADAS_ORDERS] x
  left join ADAS.dbo.ADAS_SUBSCRIPTIONS y on x.SUBSCRIPTION_KEY = y.SUBSCRIPTION_KEY
  and x.CUSTOMER_ID = y.customer_id
  and x.ITEM_NUM = y.ITEM_NUM
  where x.ORDER_DATE between '10-01-2021' and '10-31-2021'
  and x.ORDER_STATUS = 'success' 
  and x.IMPULSE_FLG = 'n'
  group by  case when y.OFFER_ID is null then 'Null' 
  when y.OFFER_ID in('1882','1883','4554','4576') then 'in-store' else 'web' end
  order by 1
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69892202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档