我想存储给定列的百分比值,但是基于其他两个字段的分组:
Select FieldA,FieldB,
Value/(Select sum(Value) from Table1 group by FieldA,FieldB)
from Table1
一旦我做到这一点,我的目标就是把它变成一个更新当然但现在我正在
" [Err] 1242 - 子查询返回超过1行"
答案 0 :(得分:2)
您需要一个相关的子查询:
Select FieldA, FieldB, Value / (Select sum(Value)
from Table1 as t2
where t2.FieldA = t1.FieldA AND
t2.FieldB = t1.FieldB)
from Table1 as t1
查询的问题在于子查询返回多个值:每个FieldA, FieldB
组一个,而执行除法需要标量值。使用相关性子查询返回标量值:与当前Value
值对应的FieldA, FieldB
之和。