gpt4 book ai didi

mysql - 具有链接到同一主键的多个外键的表

转载 作者:可可西里 更新时间:2023-11-01 07:57:03 26 4
gpt4 key购买 nike

我最近在使用我的 MySQL 数据库获取我想要的查询结果时遇到了很多困难 - 目前我不确定问题出在数据库还是实际查询上。

基本上它是一个包含这些表的足球运动员数据库:

(player): player_id (primary), playerName
(match): match_id (primary), playerID1, playerID2, playerID3, etc..

我想查询数据库,以便返回比赛数据库中的属性,但返回的是球员的姓名,而不是他们的 ID。

我可以让它为一个玩家工作,但不能为其他玩家工作。这是代码:

SELECT p.Name 
FROM `match` m
inner join `player` p on p.player_id=m.playerID1

但是当我添加第二个玩家时,p.Name 已经映射到 playerID1 所以它不会工作。

我怀疑是数据库设计的不太好,但是欢迎任何建议!

最佳答案

数据库设计让您头疼。您应该通过添加一个同时具有 MatchIDPlayerID,从而允许尽可能多的玩家链接到 Match,而不必为每个玩家都设置一个字段。

不过对于您的查询,您必须执行如下操作:

SELECT p.Name 
FROM `match` m
INNER JOIN `player` p
ON p.player_id IN (m.playerID1, m.playerID2, m.playerID3) //etc

演示 SQLFiddle HERE

关于mysql - 具有链接到同一主键的多个外键的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10750955/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com