首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

依据同一张表更新同一张表字段内容sql

2012-06-22 
根据同一张表更新同一张表字段内容sql表a的某些字段更新:字段 1acno字段 2acname现在a的记录有些acname是

根据同一张表更新同一张表字段内容sql
表a的某些字段更新:
字段 1 acno
字段 2 acname
现在a的记录有些acname是空的,有的有,现在想把同一个acno的acname空的填写好,怎么写sql啊?
如:
12345 abcde
12345  
12345 abcde
12344 bcdef


现在我想把第二条的acname也修改成abcde,怎么写sql啊?

[解决办法]

SQL code
create table a(acno varchar(10),acname varchar(10))insert into a values('12345', 'abcde')insert into a values('12345', null   )insert into a values('12345', 'abcde')insert into a values('12344', 'bcdef')goupdate a set acname = (select top 1 acname from a where acno = t.acno and acname <> '' and acname is not null) from a t where acname = '' or acname is nullselect * from a/*acno       acname     ---------- ---------- 12345      abcde12345      abcde12345      abcde12344      bcdef(所影响的行数为 4 行)*/drop table a
[解决办法]
前面一个有错
SQL code
update table_nameset acname = (select top 1 t.acname from table_name t where t.acno = table_name.acno and t.acname is not null)where acname is null 

热点排行