1条回答 默认 最新
- KopSeas 2021-06-29 14:34关注
yearmonth 那一列的所有值改成标准日期格式为'yyyy-mm-dd'这样的格式(例如2020-04-01)
SELECT c.dueDate
, CASE
WHEN c.baseAmount - d.baseAmount IS NULL THEN c.baseAmount
ELSE c.baseAmount - d.baseAmount
END AS 同期增长值
, CASE
WHEN (c.baseAmount - d.baseAmount) / c.baseAmount IS NULL THEN 1
ELSE (c.baseAmount - d.baseAmount) / c.baseAmount
END AS 同比
FROM CumulativeCase c
LEFT JOIN (
SELECT a.baseAmount AS baseAmount, b.dueDate AS dueDate
FROM CumulativeCase a
JOIN CumulativeCase b ON LEFT(convert(nvarchar(25), a.dueDate, 120), 7) = LEFT(convert(nvarchar(25), dateadd(year, -1, b.dueDate), 120), 7)
) d
ON LEFT(convert(nvarchar(25), c.dueDate, 120), 7) = LEFT(convert(nvarchar(25), d.dueDate, 120), 7)
ORDER BY c.dueDate
--问题2(环比)
SELECT c.dueDate, c.baseAmount
, CASE
WHEN (c.baseAmount - d.baseAmount) / c.baseAmount IS NULL THEN 1
ELSE (c.baseAmount - d.baseAmount) / c.baseAmount
END AS 环比
FROM CumulativeCase c
LEFT JOIN (
SELECT a.baseAmount AS baseAmount, b.dueDate AS dueDate
FROM CumulativeCase a
JOIN CumulativeCase b ON LEFT(convert(nvarchar(25), a.dueDate, 120), 7) = LEFT(convert(nvarchar(25), dateadd(month, -1, b.dueDate), 120), 7)
) d
ON LEFT(convert(nvarchar(25), c.dueDate, 120), 7) = LEFT(convert(nvarchar(25), d.dueDate, 120), 7)
ORDER BY c.dueDate
回答不易 望采纳
解决 无用评论 打赏 举报
悬赏问题
- ¥15 odoo17处理受托加工产品
- ¥15 如何用MATLAB编码图三的积分
- ¥15 为什么我安装了Homebrew之后,无法像官网的那样通过执行命令安装Watchman
- ¥15 圆孔衍射光强随孔径变化
- ¥15 MacBook pro m3max上用vscode运行c语言没有反应
- ¥15 ESP-PROG配置错误,ALL ONES
- ¥15 结构功能耦合指标计算
- ¥50 AI大模型精调(百度千帆、飞浆)
- ¥15 非科班怎么跑代码?如何导数据和调参
- ¥15 福州市的全人群死因监测点死亡原因报表