日期:2014-05-16  浏览次数:20765 次

mysql查询 联合查询
有A表
id name1 mark1
1 A 10
B表
id name2 mark2
1 a 10
1 b 20
1 c 30
我要得到的结果是
id name2 mark2 name1 mark1
1 a 10 A 10
1 b 20  
1 c 30
也就是说 和B表相同ID的A表只需要一组数据就行
或者我要得到的统计结果是
total mark2 mark1+mark2
1 60 70
即统计A表的个数 B表的mark2总和以及B表mark2总和和A表的mark1的值相加

------解决方案--------------------
A表只有1条记录?

select b.*,a.name1,a.mark1 from b left join a on b.id=a.id


SELECT id,SUM(mark2),SUM(MARK2)+(SELECT SUM(MARK1) FROM b WHERE A1.ID=ID)
FROM a a1
GROUP BY ID