主表 table1
nameid name
1 张
2 王
3 李
子表 table2
nameid money
1 30
2 50
1 20
2 10
结果 nameid name moneysum
1 张 50
2 王 60
3 李 0
------解决思路----------------------
select a.nameid, a.name, sum(b.money) as all
from table1 a left join table2 b on a.nameid = b.nameid
group by a.nameid, a.name
------解决思路----------------------
SELECT A.*,B.moneysum FROM table1 AS A INNER JOIN (SELECT nameid,SUM(MONEY) AS moneysum from table2 group by nameid) as b on a.nameid=b.nameid
------解决思路----------------------
SELECT a.nameid, a.name, SUM(b.money)moneysum
FROM table1 T1
LEFT JOIN table2 T2 ON T1.nameid = T2.nameid
GROUP BY T1.nameid, T1.name
------解决思路----------------------
SELECT T1.nameid, T1.name, SUM(T2.money)moneysum
FROM table1 T1
LEFT JOIN table2 T2 ON T1.nameid = T2.nameid
GROUP BY T1.nameid, T1.name