I have following Table where teachers update the data daily but some teachers don't update the record daily. I need to find missing date and add previous NOT NULL value in Val and TotalValue field. I have date Table and I did left join with Date table but unable to update not null records. 2nd January and 3rd January are missing rows, I need to add rows to the result
DECLARE @Table TABLE(
ID INT,
ClassID VARCHAR(10),
Val INT,
TotalValue INT,
UpdatedDateTime DATETIME2
)
INSERT INTO @Table (ID, ClassID, Val,TotalValue, UpdatedDateTime) SELECT 1, 'AB475', 20, 100, '2020/1/1 14:00:20'
INSERT INTO @Table (ID, ClassID, Val,TotalValue, UpdatedDateTime) SELECT 1, 'ZXCV5', 50, 70, '2020/1/1 14:00:20'
INSERT INTO @Table (ID, ClassID, Val,TotalValue, UpdatedDateTime) SELECT 1, 'GHT09', 40, 40, '2020/1/1 14:00:20'
INSERT INTO @Table (ID, ClassID, Val,TotalValue, UpdatedDateTime) SELECT 1, 'AB475', 70, 100, '2020/1/2 14:00:20'
INSERT INTO @Table (ID, ClassID, Val,TotalValue, UpdatedDateTime) SELECT 1, 'GHT09', 38, 40, '2020/1/2 14:00:20'
INSERT INTO @Table (ID, ClassID, Val,TotalValue, UpdatedDateTime) SELECT 1, 'AB475', 20, 100, '2020/1/3 14:00:20'
INSERT INTO @Table (ID, ClassID, Val,TotalValue, UpdatedDateTime) SELECT 1, 'ZXCV5', 20, 70, '2020/1/3 14:00:20'
SELECT * FROM @Table
ID ClassID Val TotalValue UpdatedDateTime
1 AB475 20 100 2020-01-01 14:00:20.0000000
1 ZXCV5 50 70 2020-01-01 14:00:20.0000000
1 GHT09 40 40 2020-01-01 14:00:20.0000000
1 AB475 70 100 2020-01-02 14:00:20.0000000
1 GHT09 38 40 2020-01-02 14:00:20.0000000
1 AB475 20 100 2020-01-03 14:00:20.0000000
1 ZXCV5 20 70 2020-01-03 14:00:20.0000000
SELECT *
FROM [DATE]
LEFT JOIN @Table
ON [DATE].[DATE] = CAST([@Table].UpdatedDateTime AS DATE)
End Result should be
ID ClassID Val TotalValue UpdatedDateTime
1 AB475 20 100 2020-01-01 14:00:20.0000000
1 ZXCV5 50 70 2020-01-01 14:00:20.0000000
1 GHT09 40 40 2020-01-01 14:00:20.0000000
1 AB475 70 100 2020-01-02 14:00:20.0000000
1 GHT09 38 40 2020-01-02 14:00:20.0000000
1 AB475 20 100 2020-01-03 14:00:20.0000000
1 ZXCV5 20 70 2020-01-03 14:00:20.0000000
1 ZXCV5 50 70 2020-01-02 14:00:20.0000000
1 GHT09 38 40 2020-01-03 14:00:20.0000000