2009-06-18 3 views
0

직원 은 E_ID 첫번째 마지막 1 존 스미스 2 밥 스미스 3 알렉스 스미스 4 신원 미상 (5) 론 도우 나는 모든 직원의 이름을 나열하는 단일 쿼리를 필요약간 복잡한 MySQL의 쿼리

clockpunch 
e_id time for adjustment 
1 0650 in early 
3 0710 in late 
4 0725 in early 
1 1100 lunch --- 
2 1150 in late 
2 1400 lunch --- 
4 1320 out --- 

사용자가 일찌기 몇 번이나했는지와 함께 일찌감치 횟수에 따라 내림차순으로 계산됩니다. 어떻게이 일을 끝낼 수 있습니까?

답변

0
select a.first,a.last,sum(case b.adjustment when 'early' then 1 else 0 end) as ct 
from employees a, clockpunch b where a.e_id=b.e_id 
    group by a.first, a.last 
0

이 (안된) 작동 할 수 있습니다

select first,last,count(*) from employees e, clockpunch c 
where e.e_id = c.e_id and adjustment = 'early' 
group by first,last 
order by count(*) desc