0

説明するのは非常に難しいですが、「チーム」という名前のテーブルがあり、次のように 5 つのチームが含まれているとします。

 team_id, teamname, manager
   1,       Team1,    1
   2,       Team2,    10
   3,       Team3,    3
   4,       Team4,    5
   5,       Team5,    6

これに似た別のテーブルを作成する必要があります (たとえば、TeamFixtures という名前)。

  id, HomeTeam, HomeScore, AwayScore, AwayTeam
                  NULL        NULL

HomeTeam と AwayTeam を「teams」テーブルの team_id にするにはどうすればよいですか?

各チームにこれが必要なので、ホームとアウェイのゲームで 2 回対戦します。

フィクスチャを 1 つずつ入力するのではなく、これをより迅速に行うことができるクエリはありますか

4

1 に答える 1

2

リレーションの属性が別のリレーションのキーである場合、それは外部キーと呼ばれます。

TeamFixturesテーブルの場合、 2 つの外部キーhometeamawayteam.

ステートメントCREATEは次のようになります。

CREATE TABLE teamfixtures(
    ...
    hometeam INT,
    awayteam INT,
    ...
    CONSTRAINT fk_hometeam FOREIGN KEY(hometeam) REFERENCES teams, 
    CONSTRAINT fk_awayteam FOREIGN KEY(awayteam) REFERENCES teams,
    CONSTRAINT ck_teams CHECK(hometeam <> awayteam)
    )
于 2012-11-01T02:55:15.063 に答える