我有一个这样的SQL表结构
Id A B C D
1 1 5 6 25
2 2 10 5 25
3 3 7 4 25
4 1 6 5 26
5 2 10 5 26
6 3 8 3 26
我想写一个脚本,它将更新所有B 和 C 列在行中A=3与乘法的值A = 1 且 A = 2(对于相同的值D column)
所以结果应该是
Id A B C D
1 1 5 6 25
2 2 10 5 25
3 3 50 30 25
4 1 6 5 26
5 2 10 5 26
6 3 60 25 26
我怎样才能用SQL编写这样的代码呢?
一种可能的方法是将表与其自身连接两次:
update T3
set
T3.B = T1.B * T2.B,
T3.C = T1.C * T2.C
from [Table] T3
join [Table] T1 on T1.A = 1 and T1.D = T3.D
join [Table] T2 on T2.A = 2 and T2.D = T3.D
where
T3.A = 3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)