您的位置:首页 > 其它

两个关联表如何更新其中的一个

2013-08-12 14:30 302 查看
原帖
http://blog.csdn.net/leamonjxl/article/details/6441669


两个关联表如何更新其中一个表的数据?

今天遇到一个客户的数据更新问题,两个相关联的表,一个主表用于保存单据主要信息,一个副表用于保存单据的明细信息;现在要把主表的其中一个字段的数据更新到副表的一个字段中保存。精通的SQL语法的,当然是很简单了。下面我作个详细的说明。

假设A表是主表,有单号order_id、开单人operator、开单日期oper_date、备注memo等;B表是副表,有单号order_id、序号id、商品编码code、商品名称name、备注memo等。A表的备注是有数据的,B表的备注没有数据,现在要把A表的数据更新到B表,并且B表有数据的不能更新了。A表与B表是以单号来关联的。更新数据的SQL语法如下:

update B set B.memo=A.memo from B,A

where A.order_id=B.order_id and (B.memo is null or B.memo='');

A、B表的order_id是索引,而且是关联字段,所以要放在Where条件作为第一条件。B表的备注为空值,或等于没有值的,才能更新。

--------------------------

示例查询:

SELECT TOP 10 A.F_DATE,B.F_DATE FROM M..C1T06 A, M..C1T15 B WHERE
A.F_CODE=B.F_CODE AND A.F_CQRQ =B.F_CQRQ AND B.F_DATE IS NULL
示例更新:

UPDATE B SET B.F_DATE=A.F_DATE FROM C1T06 A, C1T15 B WHERE
A.F_CODE=B.F_CODE AND A.F_CQRQ =B.F_CQRQ AND B.F_DATE IS NULL
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐