【发布时间】:2015-11-17 14:37:36
【问题描述】:
我正在创建一个梦幻足球应用程序,我正在以以下格式将文本文件读入我的 MYSQL 数据库(我的数据库已全部填充):
FirstName LastName TeamName OpposingTeam Date (passing|rushing|fieldgoal) (FirstName LastName)?
尾随名称语法“(FirstName LastName)?”表示此信息可能在列中,也可能不在列中。它仅在传球达阵的情况下出现,代表传球的四分卫。
同样,语法“(passing|rushing|fieldgoal)”只是表示将出现这些特定值之一。
这是我的数据库的架构:
Player
id: INT, primary key
first: CHAR(25), first name of player
last: CHAR(25), last name of player
team: INT, foreign key to Team table
Team
id: INT, primary key
name: CHAR(25), single word name of team
Game
id: INT, primary key
tid1: INT, foreign key to Team table
tid2: INT, foreign key to Team table
date: YYYY-MM-DD
GameTeam
id: INT, primary key
GameID: INT, foreign key to Game table
TeamID: INT, foreign key to Team table
Score
id: INT, primary key
game_id: INT, foreign key to Game table
player_id: INT, foreign key to Player table
passer_id: INT, foreign key to Player table
score_type: enum['pass', 'rush', 'fg'], number of rushing touchdowns
在我的应用中,投篮得分为 3 分,传球/冲球达阵得分为 7 分。
我正在尝试提出可以帮助我获得以下信息的 SQL 查询:
佩顿·曼宁在对阵迈阿密的比赛中得分或传球有多少次达阵?
列出田纳西州获胜的所有比赛(日期和对手球队)。
雷吉·布什在 10 月份的冲球达阵次数是多少?
我在编写有助于我获取此信息的查询时遇到了很多麻烦。有人可以帮我吗?
为了澄清:一切都是 CHAR(25),除了 (passing|rushing|fieldgoal),它是一个枚举,以及格式为 YYYY-MM-DD 的日期。
编辑:这是一个包含我的一些数据的粘贴箱:http://pastebin.com/npKB5gQa
【问题讨论】:
-
到目前为止你有什么,你在努力解决什么问题?
-
到目前为止,您尝试过...?另外,如果您考虑到这些特定查询并且不知道如何设计它们,那么您到底为什么要设计这样的架构?
-
我的数据库已经全部设置好(包括表格和填充的数据)。我只是想在我的表上运行查询以获取上述 3 个问题中的信息。
-
我是数据库和 SQL 的新手。
-
您确实需要阅读规范化,这种设计不适用于查询。
标签: mysql sql database subquery