mysql – 具有链接到同一主键的多个外键的表
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql – 具有链接到同一主键的多个外键的表,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含925字,纯文字阅读大概需要2分钟。
内容图文
![mysql – 具有链接到同一主键的多个外键的表](/upload/InfoBanner/zyjiaocheng/894/10928570d0b94934a602be392857d5c9.jpg)
我最近很难通过我的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,所以它不起作用.
我怀疑它的数据库设计得不是很好,但欢迎任何建议!
解决方法:
那个数据库设计引起了你的头痛.您应该通过添加具有MatchID和PlayerID的MatchPlayer表来分解Match和Player之间的关系,从而允许尽可能多的玩家链接到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 – 具有链接到同一主键的多个外键的表全部内容,希望文章能够帮你解决mysql – 具有链接到同一主键的多个外键的表所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。