使用两个ID汇总每人的行数

时间:2015-07-21 19:01:58

标签: mysql

我有两张桌子,一张是人,一张是值。每个人都可以拥有两个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

我猜我需要一个子查询来同时执行这两个操作,但我不确定如何使用它。

1 个答案:

答案 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;

这有用吗?我现在没办法测试它。