当前位置:操作系统 > Unix/Linux >>

通过两张表的一个字段对应,update其中一张表的某个字段

通过两张表的一个字段对应,update其中一张表的某个字段
 
update PolityFace  set fdJoinDay = 
(SELECT b.fdJoinDay FROM personbaseinfo b WHERE PolityFace.fsPersonID = b.fsPersonID) where  exists 
(SELECT 1 FROM personbaseinfo d WHERE PolityFace.fsPersonID = d.fsPersonID) 
 
update PolityFace  set fdJoinDay = 
(SELECT b.fdJoinDay FROM personbaseinfo b,PolityFace c WHERE c.fsPersonID = b.fsPersonID) where  exists 
(SELECT 1 FROM personbaseinfo d WHERE PolityFace.fsPersonID = d.fsPersonID) 
 
两个sql的目的是一致的,但是逻辑不同。 
第一个sql中的SELECT b.fdJoinDay FROM personbaseinfo b WHERE PolityFace.fsPersonID = b.fsPersonID的PolityFace.fsPersonID 是从一开始的PolityFace 中取的值,而第二个sql中的 
c.fsPersonID是从两个表交叉集合取出的值,故会报错。
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,