將一個表中的某列的值全部更新為與另一表中某一列的值相等

來源:互聯網
上載者:User

資料庫使用的是db2,其中有兩個表,檢查表(STUDY_TBL)和篩選表(SELECTION_TBL)

==================================

STUDY_TBL的描述大致如下:

STUDY_LID INTEGER PRIMARY KEY,

STUDY_DATE DATE

... ...

SELECTION_TBL的定義描述大致如下:

SELECTION_LID INTEGER PRIMARY KEY,

STUDY_LID INTEGER,

STUDY_DATE

... ...

=====================================

STUDY_LID在SELECTION_TBL中不是唯一的,現在要將SELECTION_TBL中的STUDY_DATE全部更新為與STUDY_TBL中的STUDY_DATE相同(也就是說,在這兩張表中,STUDY_,LID相同的,SELECTION_TBL中的STUDY_DATE要保持與STUDY_TBL中的STUDY_DATE相同)。

sql語句如下:


UPDATE PACS.SELECTION_TBL SEL
   SET STUDY_DATE = (SELECT ST.STUDY_DATE
                       FROM PACS.STUDY_TBL ST
                      WHERE ST.STUDY_LID = SEL.STUDY_LID)
 WHERE EXISTS
 (SELECT 1 FROM PACS.STUDY_TBL ST1 WHERE ST1.STUDY_LID = SEL.STUDY_LID)


PACS是模式名稱,在以後的文章中,還要詳細討論exists的用法,敬請期待。。。。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.