多关系表求和sum的问题
有三个数据表,分别为 A 、AA 、AAA ,表AA、表AAA的外键 与 表 A 的主键ID 关联表A
ID name
1 me
表AA
ID A_ID L1
1 1 10
2 1 10
3 1 10
表AAA
ID AA_ID L2
1 1 15
现在要求 字段L1、字段L2 之和, SQL语句如下:
select sum(L1)as s,sum(L2) as ss from A
left join AAA on A.ID=AA_ID
left join AA on A.ID=A_ID
where A.ID=1
目的是想实现求和后 sum(L1) =30 、 sum(L2) =15,但执行查询后得出的结果是sum(L1) =30 、 sum(L2) =45 。sum(L1)求和就正确,但sum(L2)求和就比要的数大了3倍。而且这个增加的倍数是随着表AA中相同的A_ID的数量成正比的。
请问,如何写出正确的SQL语句才能求出 sum(L1) =30 、 sum(L2) =15 ,谢谢大家!
[[it] 本帖最后由 foshan 于 2008-3-6 08:16 编辑 [/it]]