我有两个表说 T1 和 T2,一个(T1)存储要支付的金额(AP)、主键 ID 和人员 ID(pid)。
其他表(T2)存储已支付的金额(Pay),这可以是多个,因为可以为 AP 进行多次支付,还存储 T1 ID 的外键和类型。
现在我想要的是来自 t1 的 SUM(AP) 和 SUM(Pay) groupby 类型。
我为它做的查询,(不是确切的查询,但很好地解释了我正在尝试的内容)
select SUM(AP) from T1
where pid='someid' join left T2 on t1.id = t2.id,
select Pay and type from T2, groupby type
解释
T1 T2
ID AP ID Pay Type
19 X 19 W A
20 Y 19 Q B
21 Z 21 R B
21 S B
现在发生了什么,当它按类型分组时,它需要 19,21,21 作为 B,一起,它给我 T1 的总和是 Z + X 的两倍,同样对于 A,它取 A 并返回总和为X
我收到格式的数据
1. AP:X, Pay:W, Type: A
2. AP: X+Z+Z, Pay:Q+R+S,Type B
我需要的是 T1 的总和和 T2 的总和(基于 T1 的 ID)按类型分组
我使用两个不同的查询解决了这个问题,每个查询一个,但不能在单个查询中完成,我知道这可能很复杂,但如果可能的话想要。
希望我试图让问题足够清楚。