用另一个表数据更新字段

多个列

UPDATE a,
 b
SET a.title = b.title,
 a. category= b.category
WHERE
    a.id = b.id

子查询

UPDATE shop  s
SET city_name = (
    SELECT
        name
    FROM
        city
    WHERE
        id = s.city_id
);

一个表的cout更新另一个表的字段

UPDATE shop a
SET a.goods_count = (
    SELECT
        b.counts
    FROM
        (
            SELECT
                mid,
                count(*) counts
            FROM
                goods
            WHERE
                is_delete = 0
            AND STATUS = 1
            GROUP BY
                mid
        ) b
    WHERE
        a.mid = b.mid
)
时间: 2024-10-07 05:29:51

用另一个表数据更新字段的相关文章

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

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=tab

mysql将一个表中字段A的值赋给另一个表的字段B

# mysql 的修改方法 update table_a a inner join table_b b on b.id=a.id set a.description=b.content; # mssql的修改方法 update b set a.description=b.content from table_a a inner join table_b b on a.id=b.id; mysql将一个表中字段A的值赋给另一个表的字段B

MySQL复制表字段到另外一个表的字段

有时候,我们需要复制某个字段一整列的数据到另外一个新的字段中,这很简单,SQL可以这么写: UPDATE tb_1 SET content_target = content_source; 大概写法如下:名仕娱乐城 Update {your_table} set {source_field} = {object_field} WHERE cause 有Navicat等工具更好,可以直接选中一列数据,拷贝粘贴到你需要的列中.如果是同一个表那没什么问题,如果是新表,请保持它们的行数是一致.如果行数不

如何使用MySQL一个表中的字段更新另一个表中字段

这篇文章主要介绍了如何使用MySQL一个表中的字段更新另一个表中字段,需要的朋友可以参考下 1,修改1列 ? 1 2 3 update student s, city c set s.city_name = c.name where s.city_code = c.code; 2,修改多个列 ? 1 2 3 update a, b set a.title=b.title, a.name=b.name where a.id=b.id ?子查询 ? 1 update student s set ci

sql server数据库的表中修改一个表的字段的数据类型后,不能保存

一个表中的一个字段 student(sno, sname, age) sname 类型 nchar(10) 修改成int 保存时报错. 这个是SQL SERVER自身默认设置的问题,它默认为不能修改类型. 只需要在"tool->option->Designer ->Table and Database designers 中 去掉prvent saving changes that require table re-created."就可以了, 欧克了,在保存刷新.

Oracle中查询一个表中字段(列)个数

如果一个表中有很多的字段,而我们想要知道这个表中的字段个数,如果使用如下方式一个一个数,则显得很麻烦 Oracle中可以使用如下sql来查询字段(列)个数 select count(*) from user_tab_columns where table_name=upper('表名') 或者 select max(column_id) from user_tab_columns where table_name=upper('表名') 作者:itmyhome 链接:http://blog.cs

mysql更新一个表里的字段等于另一个表某字段的值

update a left join c on a.id = c.id set a.body = c.c1 where a.id=c.id;update zcat as z left join zcat_bak_1212 as zb on z.zcatId = zb.zcatId set z.zcatName = zb.zcatName where z.zcatName is null; 我用到的如下 update z_vnetid__money a left join tab_feeaccou

sql语句问题 通过联立两个表更新其中一个表的字段

============问题描述============ 有两个表a和b,a表中的字段有mobilehead(号码前7位),provincename,b表中有mobile(正常号码),provincename,需求是通过联立两个表,更新b表中provincename为空的数据. ============解决方案1============ 可以这样做 UPDATE    b SET            b.PN = a.PN FROM         a   WHERE     b.PN = '

mysql把一个表的字段update成另一个表的字段根据id

1.填充activity表里面的creator字段,用org的founderid,其中activity的orgid要和org的id对应,具体sql语句如下:update activity a inner join (select id,founderid from org o) c on a.orgid =c.id  set a.creator = c.founderid;