2013-02-23 2 views
-3

테이블에 나와 함께 PersonId이 있습니다.여러 입력이있는 테이블에서 고유 ID 선택

이제 PositionIdPersonId이라는 테이블을 기반으로이 사람에게 직위를 지정했습니다. 다음과 같이 테이블의 구조는 다음과 같습니다 - PersonId 2

CorporateTeam 
PersonId PositionId 
1   1 
2   2 
2   3 

그래서 한 사람이 여러 위치를 가지고있다.

는 지금은 PositionId

그래서 내가 여러 및 PersonId에 따라 특정 개인에 대한 별개의 기술을 검색 할 기반으로 Skills 또 다른 테이블이 있습니다.

+1

설명해주십시오. 질문이 명확하지 않다. – Saksham

답변

0
create table Person (
    PersonId int 
) 

create table Position (
    PersionId int, 
    PositionId int 
) 

create table Skill (
    PositionId int, 
    SkillId int 
) 
GO 

insert into Person values (1), (2) 
insert into Position values (1, 1), (2, 2), (2, 3) 
insert into Skill values (2, 1), (2, 2), (3, 3) 
GO 

select distinct s.SkillId 
from Person p 
inner join Position pos on p.PersonId = pos.PersionId 
inner join Skill s on pos.PositionId = s.PositionId 
where p.PersonId = 2