2009-06-18 14 views
0

従業員 はE_ID最初最後 1ジョン・スミス 2ボブ・スミス 3アレックス・スミス 4ジョン・ドウ 5ロンDoeの私は、すべての従業員の名前をリストする単一のクエリを必要とする少し複雑な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