日期:2014-05-18  浏览次数:20484 次

两个表关联按条件查询的问题
A表:

Aid name
1 洗衣粉
2 肥皂
3 牙膏


B表
Bid membername Aid count
1 张三 1 10
2 张三 3 15
3 李四 1 5


需求:通过一条sql查询张三领了哪些东西,分别领了多少个,没有领的算0,按Aid排序,得到如下结果:

张三 洗衣粉 10
张三 肥皂 15
张三 牙膏 0

------解决方案--------------------
SQL code

select B.membername,A.name,sum(isnull(B.count,0)) 
from A right join B on (A.Aid =B.Aid) 
group by B.membername,A.name