然而,我的当前查询工作正常,但我似乎无法获得另一个列名来解释数据是什么。
查询:
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结果

我如何让另一列有一个名字?
发布于 2021-11-09 03:18:24
您可以尝试在选择/投影中包含组中的案例表达式。
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 1https://stackoverflow.com/questions/69892202
复制相似问题