• SQL 根据关联表更新主表中字段数据


    今天遇到一个客户的数据更新问题,两个相关联的表,一个主表用于保存单据主要信息,一个副表用于保存单据的明细信息;现在要把主表的其中一个字段的数据更新到副表的一个字段中保存。精通的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 

    例:

    UPDATE CSGK_VideoLog SET CSGK_VideoLog.Name = CSGK_Users.Name from CSGK_VideoLog,CSGK_Users  where CSGK_Users.UserId=CSGK_VideoLog.UId and (CSGK_VideoLog.WTime > '2017-09-04 12:00:00.000')
    

      

  • 相关阅读:
    四月书籍
    iOS 第三方登录之 QQ登录
    百度面试经验之谈 ----------转
    OC浅析一
    书目列表
    UIStroryboard分类
    ios基础笔记(一)
    IOS笔记-代码块(微博项目)-1.0
    IOS控件内容 对齐方式
    android同一个TextView设置不同颜色字体
  • 原文地址:https://www.cnblogs.com/yechangzhong-826217795/p/7841594.html
Copyright © 2020-2023  润新知