ホームページ  >  記事  >  データベース  >  将一个表中的某列的值全部更新为与另一表中某一列的值相等

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

WBOY
WBOYオリジナル
2016-06-07 15:22:541685ブラウズ

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:Redis复制次の記事:insert、update、delete的用法