用SQL创建足球装备?

时间:2012-11-01 01:50:58

标签: php sql

很难解释但是说我有一个名为'Teams'的桌子,它包含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成为'球队'桌子的team_id?

我需要为每个团队提供这样的服务,以便他们互相对战,主场和客场比赛两次。

是否有查询可以让我更快,而不是输入灯具1by1

1 个答案:

答案 0 :(得分:2)

当关系的属性是另一个关系的键时,它被称为Foreign Key

对于TeamFixtures表,您将拥有两个外键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)
    )