SQL随着子查询结果更新多个字段

笔者:iamlasong

要求:表格内容需要改变,在临时表中内容的变化,使用SQL官方声明更新表若干领域。

假设更新一个字段,直接用字段名=子查询就能够了,多个字段更新,将字段在括号里并列写出就可以,例如以下:

update tb_jg t

   set t.jgfl = 'sd',

       (     t.zj_code, t.zj_mc) = (select a.zj_code, a.zj_mc

                                      from song_temp a

                                     where a.zj_code = t.zj_code)

 where exists (select 1 from song_temp a where a.zj_code = t.zj_code)

需求:依据子查询创建表,语句例如以下:

create table sncn_zd_jg as select * from tb_jg where zdbz='1' order by city_code,xs_code;

假设表已经存在。以下语句则可插入查询结果:

insert into sncn_zd_jg select * from tb_jg where zdbz='1' order by city_code,xs_code;

版权声明:本文博客原创文章,博客,未经同意,不得转载。

上一篇:sql查询调优之where条件排序字段以及limit使用索引的奥秘


下一篇:SQL Server里ORDER BY的歧义性