2013-07-19 1 views
0

직원을 나타내는 테이블이 있습니다. 다양한 직원 프로필을 나타내는 두 번째 테이블이 있습니다. 직원, 팀 리더, 매니저, 임원 등. 직원을 다 대다 관계로 매핑하는 세 번째가 있습니다. 즉, 직원이 '직원'프로필과 '관리자'프로필에 모두 속할 수 있습니다.대다수가 열로 표시됩니다.

첫 번째 열에 모든 직원을 표시 한 다음 그 직원이 각 프로필에 속하는지 여부를 나타내는 Yes-No (또는 유사)로 각 프로필을 나타내는 후속 열을 어떻게 표시합니까?

+0

터치에 쉽게 응답 할 수 있도록 테이블 세부 정보를 붙여 넣을 수 있습니까? – null

답변

1

당신은이 작업을 수행 할 수 있었다 차/외래 키와 일치하는 경우 조인과 통합 :

select e.employee_id, 
     max(case when p.profile_name = 'Employee' then 1 else 0 end) as Employee, 
     max(case when p.profile_name = 'Manager' then 1 else 0 end) as Manager, 
     . . . 
from employees e left outer join 
    employee_profile ep 
    e.employee_id = ep.employee_id left outer join 
    profile p 
    on ep.profile_id = p.profile_id 
group by e.employee_id; 

데이터 구조 자체는 꽤 합리적인 것 같다.

+0

Brilliant. 감사! – Goolsy

0

나는 많은 사람들을 당신이 가지고있는 많은 사람들을 제거하는 데 재 설계 할 가치가 있다고 생각한다.

그들은 당신이

Select * from Table1, Table2 Where Table1ID = Table2ID 
관련 문제