我有两张桌子,一张是人,一张是值。每个人都可以拥有两个ID,我需要在第二个表中为其ID分配的值相互相加(因此ID1的所有值都是单个值,也与ID2的值组合在一起) )。
Table a
ID ID2 FName
1 4 Jacob
56 13 John
Table b
ID AID V1 V2
1 4 50 25
2 13 30 0
3 1 10 15
4 4 0 5
Goal output
SUM(V1,V2) a.ID a.ID2 FName
105 1 4 Jacob
30 56 13 John
我能够通过
从一个ID中获取值SELECT SUM(V1,V2) AS Total, AID, FName
FROM a,b
WHERE b.AID=a.ID
GROUP BY AID
ORDER BY Total DESC
我猜我需要一个子查询来同时执行这两个操作,但我不确定如何使用它。
答案 0 :(得分:1)
select
sum(b.V1 + b.V2) as Total,
a.ID,
a.ID2,
a.FName
from
a
inner join b on
a.ID = b.AID
or a.ID2 = b.AID
group by
a.ID,
a.ID2,
a.FName;
这有用吗?我现在没办法测试它。