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