这是我正在尝试做的简化表格结构:
T1:
ID,UID,组,值1
1,1,A,3个
2,1,B,4个
3,2,A,6个
4,2,B,7
现在我希望任何同时具有A组和B组行的uid将与B组相关联的值添加到与B组关联的行中的值。
所以上面的结果将是
1,1,A,7(3 + 4)
2,1,B,4个
3,2,A,13(6 + 7)
4,2,B,7
也可能存在仅存在A组或仅存在B组的uid,在这种情况下,不应对这些行进行任何更改。
到目前为止,我所做的是创建了一个查询,对于需要更新的任何行都有一行:
ID,UID,的newval
1,1,7
3,2,13
子查询有点复杂,并且需要使用它自己更新表。
现在如何使用它来更新原始表? (或者我怎么做其他方式)?
感谢。
答案 0 :(得分:1)
Update T1
set Value1 = T1.Value + T2.Value
from T1 inner join T1 as T2 on T1.uid = T2.uid
where T1.group = "A" and T2.group = "B"