update tablename set 职务 = (select 职务 from where rtrim(ltrim(姓名)) = '张三') where 职务 is null or len(职务) = 0
如果我有很多个字段(几十个)要做更新,用这种方法要写很长的一段代码,是否有简单一些的方法? 例如: update 表 set 职务 = (select 职务 from 表 where 姓名='张三') , 性别 = (select 性别 from 表 where 姓名='张三') , ... where isnull(职务,'') = ''
-- TRY: UPDATE a SET a.职务 = b.职务,a.性别 = b.性别 FROM T a, (SELECT * FROM T WHERE 姓名 = '张三' ) b WHERE ISNULL(a.职务,'') = ''
UPDATE a SET a.职务 = b.职务,a.性别 = b.性别 FROM T a, (SELECT top 1 * FROM T WHERE 姓名 = '张三' ) b WHERE ISNULL(a.职务,'') = ''
where 职务 is null or len(职务) = 0
例如:
update 表 set 职务 = (select 职务 from 表 where 姓名='张三') ,
性别 = (select 性别 from 表 where 姓名='张三') ,
...
where isnull(职务,'') = ''
UPDATE a
SET a.职务 = b.职务,a.性别 = b.性别
FROM T a,
(SELECT * FROM T WHERE 姓名 = '张三' ) b
WHERE ISNULL(a.职务,'') = ''
SET a.职务 = b.职务,a.性别 = b.性别
FROM T a,
(SELECT top 1 * FROM T WHERE 姓名 = '张三' ) b
WHERE ISNULL(a.职务,'') = ''