34,576
社区成员
发帖
与我相关
我的任务
分享
CREATE TABLE #T
(
订单号 VARCHAR(10),
充值日期 DATE,
充值金额 MONEY,
充值产品 VARCHAR(100),
有效天数 INT
)
INSERT INTO #T VALUES('1001','2020-07-01',500.00,'初一数学提高班',90)
INSERT INTO #T VALUES('1002','2020-08-04',1000.00,'成人英语口语突破班',30)
INSERT INTO #T VALUES('1003','2020-09-10',2000.00,'初三数学提高班',240)
INSERT INTO #T VALUES('1004','2020-11-15',3000.00,'高三语文作文提高班',360)
INSERT INTO #T VALUES('1005','2020-12-20',2000.00,'高一物理精讲班',60)
SELECT
a.订单号,a.充值日期,a.充值金额,a.充值产品,a.有效天数,
CASE WHEN a.有效天数<= d THEN a.充值金额 ELSE a.充值金额/a.有效天数 *d END AS 分摊金额,
充值金额-CASE WHEN a.有效天数<= d THEN a.充值金额 ELSE a.充值金额/a.有效天数 *d END AS 剩余金额
FROM
(
SELECT * ,DATEDIFF(DAY,充值日期,'2020-12-31')+1 AS d FROM #T
) a
DROP TABLE #T