插入列值的问题
表TAB有X、Y两个字段,字段X已有记录,字段Y为空。现在想把一列记录插入Y字段中,可是插入的时候却不是从第一行开始的,这怎么办呀,请大虾们帮忙,先谢谢!!
[解决办法]
- SQL code
declare @表TAB table (X int,Y int)insert into @表TABselect 5,null union allselect 6,null union allselect 8,null union allselect 9,null union allselect 23,null union allselect 15,null/*有一列数27951232*/SELECT X,c AS Y FROM (SELECT ROW_NUMBER() OVER ( ORDER BY GETDATE() ) AS id,* FROM @表TAB) aLEFT JOIN (SELECT ROW_NUMBER() OVER ( ORDER BY GETDATE() ) AS id,* FROM (SELECT 2 AS c UNION ALL SELECT 7 UNION ALL SELECT 9UNION ALL SELECT 5 UNION ALL SELECT 12 UNION ALL SELECT 32) d) b ON a.id = b.id /*X Y----------- -----------5 26 78 99 523 1215 32*/
[解决办法]
给表加个自增的标识列,新增数据的表也加一个标识列,然后两表按照这个标识列去更新。
update a
set a.y = b.y
from tb1 a join tb2 b on a.id = b.id
[解决办法]