我有两张桌子:
表1:
ID name
--------- -----------
1 john
2 salma
3 tony
表2:
ID Tasks amount
--------- ----------- ----------
1 write 2
1 memorize 3
1 read 6
1 sing NULL
2 write 1
2 memorize NULL
2 read 5
2 sing NULL
3 write NULL
3 memorize 8
3 read 2
3 sing NULL
我想在table1中为table2中提到的每个任务插入新列。
表1:
ID name write memorize read sing
--------- ----------- -------- --------- ------- --------
1 john 2 3 6 NULL
2 salma 1 NULL 5 NULL
3 tony NULL 8 2 NULL
我可以一次在表1中插入一个ID
,但不是全部。提前谢谢!
答案 0 :(得分:1)
首先,我使用pivot
:
select * into #Results
from
(
select ID,Tasks,amount
from #Table2
) tb2
pivot
(
max(amount)
for ID in ([1], [2], [3])
) as piv
然后,我用Table1做了inner join
:
select * from Table1 tb1 inner join #Results r on r.ID =tb1.ID
感谢@JamesL让seggustion使用pivot
!