zoukankan      html  css  js  c++  java
  • 一个数据表通过另一个表更新数据(在UPDAT语句中使用FROM子句)

     在sql server中,update可以根据一个表的信息去更新另一个表的信息。

       首先看一下语法:

    update A SET 字段1=B表字段表达式, 
    字段2=B表字段表达式   from B WHERE    逻辑表达式

    下面看例子,前两天遇到这样一种情况:是表联合更新数据。

    具体情况是这样的。有两个表,一个表是HotelInfo,一个是WorkeOrder,现在WorkeOrder表中缺少电话,需要根据HotelId来获取HotelTel,然后把电话给更新一下。

     解决步骤:

      1.先用表联合查询,把两个表关联起来。

              

     select * from   WorkOrder , HotelInfo  where WorkOrder.HotelId=HotelInfo.HotelCode

      2.在把 select改成update,此时我们会发现这样是有问题的,但是又不想用子查询,所以就想到了如下办法。

    update  WorkOrder set WorkOrder.HotelTel= HotelInfo.HotelTel from HotelInfo where  WorkOrder.HotelId=HotelInfo.HotelCode 

      3.当然也可以用子查询,但是不如联合查询好。

    update  WorkOrder set HotelTel=(select HotelTel  from HotelInfo where  WorkOrder.hotelId=HotelInfo.hotelId )

      

  • 相关阅读:
    伪多项式时间 Pseudo-polynomial time
    Aho-Corasick算法
    写给十八岁以下的你
    网络流算法
    Java static关键字
    带有负权边的最短路径问题
    Miller_Rabin(米勒拉宾)素数测试
    关于同余与模运算的总结
    UVa1585
    UVa修改版02
  • 原文地址:https://www.cnblogs.com/sdadx/p/6110611.html
Copyright © 2011-2022 走看看