我正在创建一个幻想足球应用程序,我正在以下列格式在我的MYSQL数据库中读取文本文件(我的数据库全部填充):
FirstName LastName TeamName OpposingTeam Date (passing|rushing|fieldgoal) (FirstName LastName)?
尾随名称语法"(FirstName LastName)?"表示此信息可能在列中,也可能不在列中。只有在传球触地得分的情况下才会出现并代表投掷球的四分卫。
同样,语法"(传递| 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查询,以帮助我获取以下信息:
Peyton Manning在对阵迈阿密的比赛中得分或传球多少次达阵?
列出田纳西州赢得的所有比赛(日期和对方球队)。
雷吉布什在十月份的得分有多少次冲击?
我在编写查询时遇到很多麻烦,这些查询将帮助我获取此信息。有人可以帮助我吗?
澄清:一切都是CHAR(25),除了(传递| rushing | fieldgoal),这是一个枚举,而日期是YYYY-MM-DD。
编辑:这是包含我的部分数据的pastebin:http://pastebin.com/npKB5gQa
答案 0 :(得分:0)
我建议你改变你的设计并用玩家数据(名字,姓氏等),团队等创建一个单独的表格。然后在您的PlayerRecord表格中按ID引用球员/球队。