在过去的两天里,我一直在试图解决这个问题,但似乎甚至找不到正确的术语来谷歌它。
我有3张桌子。
这个,客户端代码已更改:
ActualCode=111111111 PreviousCode=44444444
还有这两个值为 1 和值 2 的表:
PreviousCode=11111111, Value1= 50,00, Value2= 0,00
ActualCode=44444444 , Value1= 0,00, Value2 = 50,00
我需要对第一个表中先前和实际代码的每个关系的值求和。
即
为
ActualCode=11111111, PreviousCode=44444444
我需要能够获得:
Code=11111111 Value1=50,00 Value2=50,00
期待您的回答:D
谢谢 P
您可以join
表并sum
值:
select c.actualcode,
sum(ac.value1) + sum(pc.value1) as value1,
sum(ac.value2) + sum(pc.value2) as value2
from codes c
join actualcodes ac on c.actualcode = ac.actualcode
join previouscodes pc on c.previouscode = pc.previouscode
group by c.actualcode;
- Rextester 演示
如果主表中的值在值表中没有相应的行,则应改用outer joins
。