精华内容
下载资源
问答
  • SQL-两表之间:根据一个表的字段更新另一个表的字段问题:Update方法Create方法 问题: 两表之间,通过表二中和表一相同的名称,来找出所对应的类型,并更新到表一类型中。 Table1: Name TypeID TypeName ...

    SQL-两表之间:根据一个表的字段更新另一个表的字段

    问题:

    两表之间,通过表二中和表一相同的名称,来找出所对应的类型,并更新到表一类型中。

    Table1:

    Name TypeID TypeName
    第一小学 0101 小学
    101初中 0102 中学
    第二中学
    海淀小学

    Table2:

    Name FirstTypeID TypeName
    第一小学 0101 小学
    101初中 0102 中学
    第二中学 0102 中学
    海淀小学 0101 小学

    Update方法

    UPDATE Table1,Talbe2
    SET Table1.TypeName = Table2.TypeName
    WHERE Table1.Name = Table2.Name
    

    如果只更新表一部分数据,可直接在where后面加部分数据的限定条件;
    更新太慢了

    Create方法

    创建一个新的表3来替代表1

    CREATE TABLE Table3
    SELECT Name,TypeID,IF(TypeName IS NULL, Table2.TypeName, Table1.TypeName) AS TypeName
    //如果表一中类型为空值,那么在满足条件的join表中,取表2的类型值,否则取表1的类型值
    FROM Table1
    JOIN Table2
    ON Table1.Name = Table2.Name
    

    速度变快;
    注意新建替代表3的列名顺序要与原始表1的列名顺序相等。

    关于 IF条件 语法,参考 sql中的 IF 条件语句的用法.

    展开全文
  • user_bind_info_yybh 为A kh_ydkh 为B 下面的例子 UPDATE user_bind_info_yybh INNER JOIN (SELECT kh_ydkh.YHBH,kh_ydkh.YYHBH,kh_ydkh.FWMM FROM user_bind_info_yybh JOIN kh_ydkh ON kh_ydkh.YHBH ...

    user_bind_info_yybh 为表A

    kh_ydkh 为表B

    下面的例子


    UPDATE user_bind_info_yybh INNER JOIN (SELECT kh_ydkh.YHBH,kh_ydkh.YYHBH,kh_ydkh.FWMM FROM user_bind_info_yybh JOIN kh_ydkh ON kh_ydkh.YHBH = user_bind_info_yybh.POWER_USER_NO) t2 ON user_bind_info_yybh.POWER_USER_NO = t2.YHBH SET user_bind_info_yybh.POWER_USER_NO = t2.YYHBH,user_bind_info_yybh.POWER_PWD = t2.FWMM

    展开全文
  • 两表字段相互更新

    2016-02-24 10:55:27
    先需要将A中的字段A_password 的值用户B中的 vertification字段替换,如何实现呢? 比如其中一条记录的情况如下: A_id=31 A _password='888' B_id_=31 B_vertification='3011' 要将所有记录 B_...
  •  那么,有什么办法能将测试库中该字段的值更新到开发库中呢?  SQL Server中这是比较容易解决的,而Oracle中不知道方法了。  SQL Server中类似问题的解决方法  后来只好用笨的方法:  首先,将数据复制到...
  • 经百度查询到如下种写法: 1. 写法轻松,更新效率高: update table1 set field1=table2.field1, field2=table2.field2 from table2 where table1.id=table2.id 2. 常规方式,种写法相当于一个Leftjoin,以外面...

    经百度查询到如下两种写法:

    1. 写法轻松,更新效率高:
    update table1
    set field1=table2.field1,
    field2=table2.field2
    from table2
    where table1.id=table2.id

    2. 常规方式,种写法相当于一个 Left join, 以外面的where为更新条数,如果不加where就是所有记录

    update table1
    set field1=(select top 1 field1 from table2 where table2.id=table1.id)
    where table1.id in (condition)
    ————————————————

    当要更新的字段是另外两张表的结果集时,需要用到with as ,下面是我自己用到的sql:

    with table1 as
    (
    select e.emp_id,t.health_attr_id from sys_emp e inner join sys_health_type t on e.health_type_id = t.health_type_id
    )

    update a
    set [health_attr_id] = b.[health_attr_id]
     from dept_emp_time a
    inner join table1 b
    on a.emp_id = b.emp_id 

    展开全文
  • 1. 写法轻松,更新效率高: updatetb1 set field1=tb2.field1 from tb2 where tb1.id=tb2.id 2. 常规方式,写法相当于一个Leftjoin,以外面的where为更新条数,如果不加where就是所有记录 update tb1 set field1...

    1. 写法轻松,更新效率高:
    update tb1
    set field1=tb2.field1
    from tb2
    where tb1.id=tb2.id

     

    2. 常规方式,写法相当于一个 Left join, 以外面的where为更新条数,如果不加where就是所有记录

    update tb1
    set field1=(select top 1 field1 from tb2 where tb2.id=tb1.id)
    where table1.id in (condition)

     

    ----UPDATE a SET  a.totalQty=a.totalQty-b.totalQty
    ----FROM   JGEQ_YiTongPay_InventoryByGdsSeqno a,
    ----(SELECT  gdsSeqno,SUM(totalQty) totalQty FROM JGEQ_InventoryByGdsSeqnoHaiBo_Edit GROUP  BY gdsSeqno) b
    ----WHERE a.gdsSeqno =b.gdsSeqno

    展开全文
  • --第一种写法,之前一直用,没有在意 UPDATE sr_t_TCodeUserReciveCfg SET fUserID=a.fUserID,fImportFlag=NULL FROM dbo.vw_userinfo AS a INNER JOIN dbo.sr_t_TCodeUserReciveCfg AS b ON a.sLoginName=b....
  • UPDATE A as a,B as b SET a.labour_company_id = b.id WHERE a.remark = b.remark
  • 1. 写法轻松,更新效率高:update table1set field1=table2.field1,field2=table2.field2from table2where table1.id=table2.id 2. 常规方式,种写法相当于一个Leftjoin,以外面的where为更新条数,如果不加where...
  • T1和T2,T2的F23字段T1的F3字段更新,条件是T1.F2=T2.F22并且只有T1.F2和T2.F22是一一对应,T1只有一条记录和T2对应,例子如下: create table t1(f1 int,f2 varchar(10),f3 varchar(10)); create table...
  • 【采用视图更新的方式】有需求A表,B表,需要将B表中的name字段更新到A表中的name,两表有id关联,代码如下:update (selecta.nameaname,b.namebnamefromAa,Bbwherea.id=b.id) setaname=bname; --注:两表关联属性id...
  • 工作中遇到两表查询,从user表中获取用户唯一id字段 写入到另外一张qiuzu表中的uid字段中; 二者可以关联起来的只有用户的手机号码tel字段; 了解需求后数据量稍多,不可能一个一个的手动修改 最快的只有通过mysql语句...
  • ============问题描述========... 有a和b,a中的字段有mobilehead(号码前7位),provincename,b中有mobile(正常号码),provincename,需求是通过联立更新b中provincename为空的数据。 ...
  • 在mysql中alter命令可以修改字段类型,长度,名称或一些其它的参数,下面我来给大家介绍alter函数修改字段长度与类型的个命令,希望文章来给各位带来帮助。mysql 修改字段长度alter table news modify column ...
  • 最近,在作django数据迁移时用到的。 因为在django中,我把本来一个字符型字段,更改成了外键, 于是,哦喝~~~字符型字段相当于被删除了, 为了能导入这些字段的外键...一,选择一个字段插入另一个 i...
  • 发现:提交的数据是有这字段,但是更新数据的时候,这字段没有更新。在经过各种调试,打印查看,预览执行sql等等操作。都没有发现问题。 后来才想到可能市生成模式和开发模式不同(因为前面的...
  • 如果内面的的(where之后取得的)条数比外面的(where之后取得的)条数少, 会造成 不满足=条件的记录 赋给 null 值。 -- 要想不出现错误地赋 NULL 值, 必须在外面加一个 in ( select ... ) , 强制内外表的记录...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,084
精华内容 833
关键字:

两表更新字段