SQL更新 – 多个列
发布时间:2020-12-12 16:31:47 所属栏目:MsSql教程 来源:网络整理
导读:我想使用Select语句根据第二个表中的值更新表中的多个列,以获取如下值: UPDATE tbl1 SET (col1,col2,col3) = (SELECT colA,colB,colC FROM tbl2 WHERE tbl2.id = 'someid') WHERE tbl1.id = 'differentid' 但是,似乎可以“设置”多个列名称 – 有替代方法,而
我想使用Select语句根据第二个表中的值更新表中的多个列,以获取如下值:
UPDATE tbl1 SET (col1,col2,col3) = (SELECT colA,colB,colC FROM tbl2 WHERE tbl2.id = 'someid') WHERE tbl1.id = 'differentid' 但是,似乎可以“设置”多个列名称 – 有替代方法,而不是为每列编写单独的更新语句? UPDATE tbl1 SET col1 = (SELECT colA FROM tbl2 WHERE tbl2.id = 'someid') WHERE tbl1.id = 'differentid' UPDATE tbl1 SET col2 = (SELECT colB FROM tbl2 WHERE tbl2.id = 'someid') WHERE tbl1.id = 'differentid' UPDATE tbl1 SET col3 = (SELECT colC FROM tbl2 WHERE tbl2.id = 'someid') WHERE tbl1.id = 'differentid' 解决方法update tbl1 set col1 = a.col1,col2 = a.col2,col3 = a.col3 from tbl2 a where tbl1.Id = 'someid' and a.Id = 'differentid' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SQLServer中全角和半角字符的比较问题
- sqlserver 日志截断
- sql-server – SQL Server 2008上的varbinary(max)文件流的
- SQLServer 中Case When的用法
- SQLServer 并行索引支持多CPU处理
- sql – 从Microsoft Access中选择顶部(除10个之外)
- SQLServer 性能仪表盘(Performance Dashboard Reports)
- sql-server – 在SQL Server中创建索引的最佳做法和反模式?
- sqlserver oracle mysql数据库
- 如何解决在Azure上部署Sqlserver网络访问不了