I am having two tables (table1 and table2). I have columns Date, A, B, C
in table1 and columns Date, D, E
in table2. I need to transfer column D and E from table2 to table1 based on Date in both the tables.
I tried below code but getting ‘multi-part identifier “table1.Date” could not be bound.’ error
x
INSERT INTO table1
SELECT D,E FROM table2
WHERE table2.Date = table1.Date
Table1 :
Date A B C
1945-01-01 1 2 3
1945-02-01 1 2 4
1945-03-01 5 6 7
Table2 :
Date D E
1945-02-01 8 2
1945-03-01 5 6
Expected output:
Table1 :
Date A B C D E
1945-01-01 1 2 3 Null Null
1945-02-01 1 2 4 8 2
1945-03-01 5 6 7 5 6
Advertisement
Answer
First you have to add those columns to Table1. Then you need to update the existing rows. Something like this should work.
alter table Table1
add D int
alter table Table1
add E int
GO
update t
set D = t2.D
, E = t2.E
from Table2 t2
left join Table1 t on t.Date = t2.Date