首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > IBM DB2 >

UPDATE语句的有关问题

2012-03-05 
UPDATE语句的问题我准备用一个表的字段值更新另一个表的字段值,表结构如下:表A:abc1232333ef4ss表B:de2538

UPDATE语句的问题
我准备用一个表的字段值更新另一个表的字段值,表结构如下:
表A:
a b c
1 2 3
2 3 3
3 e f
4 s s
表B:
d e  
2 5
3 8
语句如下:
update A set A.c=(select e from B where A.b=B.d)
可是运行结果是:
表A:
a b c
1 2 5
2 3 8
3 e null
4 s null
这是怎么回事?怎么会出现null?

[解决办法]
因为当 3 e f 时 A.b= 'e'
(select e from B where A.b=B.d)
==
(select e from B where 'e'=B.d) 返回的结果是 NULL

改成如下

SQL code
update A set A.c=(select e from B where A.b=B.d)where exists (select e from from B where A.b=B.d) 

热点排行