-1

チャンピオンシップ データベースでの「一時的な」イベントのモデリングと実装に問題があります。

プレイヤー、チーム、移籍、チャンピオンシップの 3 つのエンティティがあり、チャンピオンシップ中のプレイヤーの移籍を追跡したい (チャンピオンシップ中にプレイヤーを別のチームに移籍させることができる)

championship(id_championship*, name, year*)
player (id_player*, name, number, id_team*)
team (id_team, name)
transfer (id_player*, id_team_from*, id_team_to*, transfer _date)

ありがとう。

4

1 に答える 1

1

たとえば、次のクエリを試すことができます。

Select T1.id_player, T1.id_team_from as Team, T1.Transfer_date as PeriodFrom, 
T2.Transfer_date as PeriodTo
            from  
        (Select id_player,id_team_from, id_team_to, Transfer_date, 
        row_number() over (partition by id_player order by transfer_date desc) RN1)T1
            inner join 
        (Select id_player,id_team_from, id_team_to, Transfer_date, 
        row_number() over (partition by id_player order by transfer_date desc) RN2)T2
            on T1.RN1=T2.RN2+1
            and T1.id_player=T2.id_player

PeriodFrom から PeriodTo まで、プレーしたチームのすべてのプレーヤーを返す必要があります。

于 2016-01-27T17:50:23.687 に答える