

左圖為合同季表(簡表),右圖為合同月表(各月明細)。每個Contract_ID為一個合同號,value_date為合同簽署日期,每個合同的day(value_date) 相同。
Term會變化,Term的值就是生成表的該合同的行數(合同簽署時長/月)
問:已知第一個表,如何建造一個輔助表得到第二個合同各月明細表。求助各位大佬解答。感激涕零。
uj5u.com熱心網友回復:
CREATE TABLE #T(
A VARCHAR(10),
B DATE,
C INT,
D INT
)
INSERT INTO #T VALUES('AAAA','2018-12-21',900,12)
INSERT INTO #T VALUES('AAAA','2019-03-21',900,12)
INSERT INTO #T VALUES('AAAA','2019-06-21',900,12)
INSERT INTO #T VALUES('AAAA','2019-09-21',900,12)
INSERT INTO #T VALUES('BBBB','2018-12-02',900,10)
INSERT INTO #T VALUES('BBBB','2019-02-02',900,10)
INSERT INTO #T VALUES('BBBB','2019-06-02',900,10)
INSERT INTO #T VALUES('BBBB','2019-09-02',900,10)
SELECT A,B,(SELECT SUM(C) FROM #T WHERE A=B.A AND B<=B.B) AS C,D FROM
(
SELECT A,DATEADD(MONTH,B.number-1,B) AS B,D FROM
(
SELECT A,MIN(B) AS B,MAX(D) AS D FROM #T GROUP BY A
) A CROSS JOIN master..spt_values B WHERE B.type='P' AND B.number BETWEEN 1 AND D
) B
DROP TABLE #T
uj5u.com熱心網友回復:
太哇塞了吧。真·大神!!
感謝感謝。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/266862.html
標籤:應用實例
