2012-04-04 5 views
0

こんにちは私はfirst_nameとすべての従業員が行ったジョブの合計数を与える次のSQL文を持っていますが、従業員が別の仕事をしている仕事のfirst_namejob_id労働者、私は3つのテーブルを持って完全に下に sql have関数

は、私が最初に名前と完全雇用の合計数を取得するために使用するコードです

SELECT first_name, COUNT(link.job_id) 
FROM employee, job, link 
WHERE job.job_id = link.job_id 
AND employee.employee_id = link.employee_id 
GROUP BY first_name 
HAVING (COUNT(link.job_id) > 1) ; 

ことができる人を助けてください

答えて

2

これはどう:

SELECT first_name, COUNT(link.job_id) 
FROM employee, job, link 
WHERE job.job_id = link.job_id 
AND employee.employee_id = link.employee_id 
AND job.job_id IN (SELECT job_id FROM link GROUP BY job_id HAVING COUNT(*) > 1) 
GROUP BY first_name 
HAVING (COUNT(link.job_id) > 1) ; 

サブクエリは、複数の従業員を含むすべてのジョブを取得します。

+0

ご協力いただきありがとうございます – suryll