これは、Bill が書いたものと非常によく似ていますが、リレーション テーブルの (emp_id, prj_id) に一意の制約がない場合に個別のプロジェクトをカウントする点が異なります。
SELECT r1.emp_id, r2.emp_id, COUNT(DISTINCT r1.prj_id) cntProjects
FROM r_emp_prj r1, r_emp_prj r2
WHERE r1.emp_id < r2.emp_id
AND r2.prj_id = r1.prj_id
GROUP BY r1.emp_id, r2.emp_id HAVING COUNT(DISTINCT r1.prj_id) > 1
関係テーブルにプロジェクト内の人物の役割 (dev、lead、q&a など) も格納されている場合、同じ (emp_id、prj_id) ペアに対して関係テーブルに複数のエントリを持つことができます。
これにより、名前も取得されます。
SELECT r1.emp_id, emp1.name,
r2.emp_id, emp2.name,
COUNT(DISTINCT r1.prj_id) cntProjects
FROM r_emp_prj r1, r_emp_prj r2,
emp emp1, emp emp2
WHERE r1.emp_id < r2.emp_id
AND r2.prj_id = r1.prj_id
AND emp1.id = r1.emp_id
AND emp2.id = r2.emp_id
GROUP BY r1.emp_id, emp1.name, r2.emp_id, emp2.name
HAVING COUNT(DISTINCT r1.prj_id) > 1