日期:2014-05-16  浏览次数:20614 次

通过查询出来的值修改原来的数据库表字段
[size=large][size=x-small]  在操作数据库的时候,我们经常需要通过在原表中查询出来的数据去更新原来数据库中的某个字段的值,在这种情况下,经常感觉很棘手,下面是我其中的一个解决方法!
  我的需求是这样的,先给出表结构,很简单。
[/size] 表名为 test[/size]
id          value
1001        null
100101          1
100102          2
100101          3
1002         null
100201          4
100202          9
100203          7
100204          2


说明: 假设第一级形如1001,1002
      第二级形如100101,100102,100104等

我现在需要做的是,把第二级的value字段值相加,最后赋给第一级的value字段。

sql语句如下:


update test ,(SELECT id as bid,sum(value) as va FROM test group by left(id,4)) b set value = b.va where id=bid。