首页 新闻 搜索 专区 学院

sqlserver新增列 并赋默认值

0
悬赏园豆:20 [已解决问题] 解决于 2016-04-20 14:58

表user有2列:id 和code。并且存有历史数据。现在增加列name,同时让历史数据code为1的时候name列为name1,code为2的时候name列为name2。这样的SQL怎么写?

梵哲的主页 梵哲 | 初学一级 | 园豆:184
提问于:2016-04-19 17:42
< >
分享
最佳答案
0

alter table user add columns name nvarchar(50);

update user a set a.name=(select case code when 1 then 'name1' when 2 then 'name' end  from user where id=a.id) where a.id in(select id from user)

收获园豆:10
Rich.T | 老鸟四级 |园豆:3438 | 2016-04-19 17:50

谢谢

梵哲 | 园豆:184 (初学一级) | 2016-04-20 14:57
其他回答(2)
0

alter table Test.dbo.a1  add  name nvarchar(50) default null

update a set a.name=(case when code=1
then 'name1' when code=2 then 'name2' end)
from UserInfo a

收获园豆:10
尼哈 | 园豆:38 (初学一级) | 2016-04-19 18:41

谢谢

支持(0) 反对(0) 梵哲 | 园豆:184 (初学一级) | 2016-04-20 14:57
0

update table set name='name'+code where code is not null

Yu | 园豆:12944 (专家六级) | 2016-04-20 08:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册