0
必須包含2017-2020年的數據。但是,對於一些記錄,這些年沒有數據。有沒有一種方法來填充它?在SQL Server 2008R2中創建缺失年份的數據
這裏的樣本表結構:
CREATE TABLE #Temp
(
RefLeaseAssumptionID VARCHAR(30),
Scenario VARCHAR(15),
RefBuildingID VARCHAR(15),
BuildingName Varchar(50),
TenantName varchar(50),
UnitID varchar(15),
StartDate date,
EndDate date,
Area int,
Years int,
GAAPRevenue int
)
INSERT INTO #Temp VALUES ('20400-TSPECTENB-LSPECTENB-0190','2017_B03', '20400', 'ABCD-123', 'New Tenant (spec)', '2700', '2019-05-01', '2024-04-30', 45788, 2019, 800000)
INSERT INTO #Temp VALUES ('20400-TSPECTENB-LSPECTENB-0190','2017_B03', '20400', 'ABCD-123', 'New Tenant (spec)', '2700', '2019-05-01', '2024-04-30', 45788, 2020, 900000)
INSERT INTO #Temp VALUES ('45000-TSPECTENB-LSPECTENB-0100','2017_B03', '45000', 'WXYZ-123', 'New Tenant (spec)', '0100', '2017-05-01', '2018-05-30', 20000, 2017, 300000)
INSERT INTO #Temp VALUES ('45000-TSPECTENB-LSPECTENB-0100','2017_B03', '45000', 'WXYZ-123', 'New Tenant (spec)', '0100', '2017-05-01', '2018-05-30', 20000, 2018, 350000)
INSERT INTO #Temp VALUES ('25000-TSPECTENB-LSPECTENB-1','2017_B03', '25000', 'XZZZ-123', 'New Tenant (spec)', '0300', '2017-05-01', '2020-10-31', 10000, 2018, 100000)
INSERT INTO #Temp VALUES ('25000-TSPECTENB-LSPECTENB-1','2017_B03', '25000', 'XZZZ-123', 'New Tenant (spec)', '0300', '2017-05-01', '2020-10-31', 10000, 2019, 125000)
INSERT INTO #Temp VALUES ('25000-TSPECTENB-LSPECTENB-1','2017_B03', '25000', 'XZZZ-123', 'New Tenant (spec)', '0300', '2017-05-01', '2020-10-31', 10000, 2020, 170000)
結果我要找:
通知#TEMP和#TEMP2之間的差異與年額外的行失蹤,0爲GAAPRevenue。
CREATE TABLE #Temp2
(
RefLeaseAssumptionID VARCHAR(30),
Scenario VARCHAR(15),
RefBuildingID VARCHAR(15),
BuildingName Varchar(50),
TenantName varchar(50),
UnitID varchar(15),
StartDate date,
EndDate date,
Area int,
Years int,
GAAPRevenue int
)
INSERT INTO #Temp2 VALUES ('20400-TSPECTENB-LSPECTENB-0190','2017_B03', '20400', 'ABCD-123', 'New Tenant (spec)', '2700', '2019-05-01', '2024-04-30', 45788, 2017, 0)
INSERT INTO #Temp2 VALUES ('20400-TSPECTENB-LSPECTENB-0190','2017_B03', '20400', 'ABCD-123', 'New Tenant (spec)', '2700', '2019-05-01', '2024-04-30', 45788, 2018, 0)
INSERT INTO #Temp2 VALUES ('20400-TSPECTENB-LSPECTENB-0190','2017_B03', '20400', 'ABCD-123', 'New Tenant (spec)', '2700', '2019-05-01', '2024-04-30', 45788, 2019, 800000)
INSERT INTO #Temp2 VALUES ('20400-TSPECTENB-LSPECTENB-0190','2017_B03', '20400', 'ABCD-123', 'New Tenant (spec)', '2700', '2019-05-01', '2024-04-30', 45788, 2020, 900000)
INSERT INTO #Temp2 VALUES ('45000-TSPECTENB-LSPECTENB-0100','2017_B03', '45000', 'WXYZ-123', 'New Tenant (spec)', '0100', '2017-05-01', '2018-05-30', 20000, 2017, 300000)
INSERT INTO #Temp2 VALUES ('45000-TSPECTENB-LSPECTENB-0100','2017_B03', '45000', 'WXYZ-123', 'New Tenant (spec)', '0100', '2017-05-01', '2018-05-30', 20000, 2018, 350000)
INSERT INTO #Temp2 VALUES ('45000-TSPECTENB-LSPECTENB-0100','2017_B03', '45000', 'WXYZ-123', 'New Tenant (spec)', '0100', '2017-05-01', '2018-05-30', 20000, 2019, 0)
INSERT INTO #Temp2 VALUES ('45000-TSPECTENB-LSPECTENB-0100','2017_B03', '45000', 'WXYZ-123', 'New Tenant (spec)', '0100', '2017-05-01', '2018-05-30', 20000, 2020, 0)
INSERT INTO #Temp2 VALUES ('25000-TSPECTENB-LSPECTENB-1','2017_B03', '25000', 'XZZZ-123', 'New Tenant (spec)', '0300', '2017-05-01', '2020-10-31', 10000, 2017, 0)
INSERT INTO #Temp2 VALUES ('25000-TSPECTENB-LSPECTENB-1','2017_B03', '25000', 'XZZZ-123', 'New Tenant (spec)', '0300', '2017-05-01', '2020-10-31', 10000, 2018, 100000)
INSERT INTO #Temp2 VALUES ('25000-TSPECTENB-LSPECTENB-1','2017_B03', '25000', 'XZZZ-123', 'New Tenant (spec)', '0300', '2017-05-01', '2020-10-31', 10000, 2019, 125000)
INSERT INTO #Temp2 VALUES ('25000-TSPECTENB-LSPECTENB-1','2017_B03', '25000', 'XZZZ-123', 'New Tenant (spec)', '0300', '2017-05-01', '2020-10-31', 10000, 2020, 170000)