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

咨询一个简单的sql 查询问题 在线等
有两个表 t_list 和 t_task

t_list 结构如下:
id name 
1 list1
2 list2
3 list3
4 list4 ... ...

t_task 结构如下:
id l_id name over
1 1 task1 1 
2 1 task2 0 
3 2 task3 1
4 2 task4 1
5 3 task5 0
6 4 task6 0
 ... ...

现在希望 查询list表 并且需要知道 list 关联的task数目 以及task中 over=1 和over =0 的数目

谢谢


 

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

select a.id,a.name,count(b.id) as cnt,
     sum(case when b.over = 1 then 1 else 0 end) ocnt1,
     sum(case when b.over = 0 then 1 else 0 end) ocnt0
from t_list a left join t_task b on t.id = b.l_id
group by a.id,a.name

------解决方案--------------------
探讨
SQL code

select a.id,a.name,count(b.id) as cnt,
sum(case when b.over = 1 then 1 else 0 end) ocnt1,
sum(case when b.over = 0 then 1 else 0 end) ocnt0
from t_list a left join t_task b on……