sql学习之:mysql里关于update from

表table如下:
idcodename
1c1null
2c1c1name
3c2null
4c2c2name
5c3c3name
6c4null


要求:把table里面对于相同的code的null值用不为null的值赋值。

例:id=1和id=2的code值一样,把id=1的name,update为id为2的name值. 


在系统sybase里面用下面的sql语句,可以测试成功:

update a set a.name= b.name
from table a,tabel b
where a.code = b.code and a.name is null and b.name is not null

但在我的mysql数据库测试半天都不成功。后面在网上看到说mysql 不支持 update 子查询更新。

新语句如下:

update table a inner join table b 
on a.code=b. code 
set a. name =b. name 
where a. code is not null and b.i name is not null

将对table的别名a,b放到了前面。前几天发现mysql的gruop by的说明是返回唯一值,返回的结果集是删除了重复项。但sybase里面却行不通。纠结。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值