搜索
您的当前位置:首页正文

将一个表中的某列的值全部更新为与另一表中某一列的值相等

2020-11-09 来源:吉趣旅游网

数据库使用的是db2,其中有两个表,检查表(STUDY_TBL)和筛选表(SELECTION_TBL) ================================== STUDY_TBL的描述大致如下: STUDY_LID INTEGER PRIMARY KEY, STUDY_DATE DATE ... ... SELECTION_TBL的定义描述大致如下: SELECTION_L

数据库使用的是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的用法,敬请期待。。

Top