1. 程式人生 > >SQL用子查詢結果更新多個欄位

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;