首页 > 解决方案 > 连接代码以获得总和

问题描述

过去两天我一直在试图解决这个问题,但似乎找不到合适的术语来谷歌搜索它。

我有 3 张桌子。

这个,客户端代码发生了变化:

ActualCode=111111111  PreviousCode=44444444

这两个表的值为 1 和值为 2:

PreviousCode=11111111, Value1= 50,00,  Value2= 0,00
ActualCode=44444444 ,  Value1= 0,00, Value2 = 50,00

我需要对第一个表中先前代码和实际代码的每个关系的值求和。

IE

为了

ActualCode=11111111,  PreviousCode=44444444

我需要能够得到:

Code=11111111 Value1=50,00  Value2=50,00

期待你的回答:D

谢谢,P

标签: sqlsql-server

解决方案


您可以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;

如果主表中的值在值表中没有相应的行,则应outer joins改为使用。


推荐阅读