Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-EER表中的双主键 上下文_Mysql - Fatal编程技术网

MySQL-EER表中的双主键 上下文

MySQL-EER表中的双主键 上下文,mysql,Mysql,我一直在摆弄一个小的足球爱好数据库来记录比赛、球员和进球。遇到了一个我不知道如何解决的问题 match表有两个外键,都指向team表中的tID。 我的想法是,我以后可以做一个选择,看看在给定的比赛中,哪些球队(按名称)相互对抗 select * from `Fooseball`.`match` INNER JOIN team T1 ON Fooseball.`match`.mHome_Team = T1.tID INNER JOIN team T2 ON Fooseball.`match`.mA

我一直在摆弄一个小的足球爱好数据库来记录比赛、球员和进球。遇到了一个我不知道如何解决的问题

match表有两个外键,都指向team表中的tID。 我的想法是,我以后可以做一个选择,看看在给定的比赛中,哪些球队(按名称)相互对抗

select * from `Fooseball`.`match`
INNER JOIN team T1
ON Fooseball.`match`.mHome_Team = T1.tID
INNER JOIN team T2
ON Fooseball.`match`.mAway_Team = T2.tID
WHERE mID=1

问题: 1是比创建两个主键更好的归档方法。比如,中间桌子

2如何构造select语句,以便将tName列命名为“home”和“away”或其他名称?当我试着说

INNER JOIN team AS T1

没有任何变化。

尽管有未说明的附加要求,但我会这样做

要重命名结果中的列,可以执行以下操作

SELECT m.mDate AS match_date, T1.tName AS home_team, T2.tName AS away_team
  FROM Fooseball.`match` m
  INNER JOIN team T1
    ON m.mHome_Team = T1.tID
  INNER JOIN team T2
    ON m.mAway_Team = T2.tID
  WHERE mID=1

对于报告,您可以使用混合大小写和空格(例如“Home Team”)为列别名,方法是将别名用双引号括起来。

尽管有未说明的其他要求,但我还是会这样做

要重命名结果中的列,可以执行以下操作

SELECT m.mDate AS match_date, T1.tName AS home_team, T2.tName AS away_team
  FROM Fooseball.`match` m
  INNER JOIN team T1
    ON m.mHome_Team = T1.tID
  INNER JOIN team T2
    ON m.mAway_Team = T2.tID
  WHERE mID=1

对于报告,您可以使用大小写和空格混合的列别名(例如“Home Team”),方法是将别名用双引号括起来。

表中的
match
有两个外键指向
Team
match
有一个主键,即
mID
match
表有两个外键指向
team
match
有一个主键,即
mID