-3

私はテーブルPersonIdに私と一緒にいます。People

PositionIdとという名前のテーブルに基づいて、これらの Person に位置を割り当てましたPersonId。このテーブルの構造は次のとおりです。

CorporateTeam
PersonId    PositionId
1           1
2           2
2           3

したがって、PersonId 2 を持つ人物には複数の役職があります。

今、私Skillsはに基づいている別のテーブルを持っていますPositionId

したがって、PersonId に基づいて、特定の人の複数異なるスキルを取得したいと考えています。

4

1 に答える 1

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
于 2013-02-23T10:57:47.723 に答える