Mysql SQL查询的问题

Mysql SQL查询的问题,mysql,sql,database,subquery,Mysql,Sql,Database,Subquery,我正在创建一个fantasy football应用程序,在MYSQL数据库中读取以下格式的文本文件(我的数据库已全部填充): 尾随名称语法“(FirstName LastName)?”表示此信息可能在列中,也可能不在列中。它只在传球触地时出现,代表投球的四分卫 类似地,语法“(passing | rushing | fieldgoal)”只意味着将出现这些特定值中的一个 以下是我的数据库的架构: Player id: INT, primary key first: CHAR(25

我正在创建一个fantasy football应用程序,在MYSQL数据库中读取以下格式的文本文件(我的数据库已全部填充):

尾随名称语法“(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查询,以帮助我获得以下信息:

佩顿·曼宁在对阵迈阿密的比赛中有多少次触地得分或传球

列出田纳西州赢得的所有比赛(日期和对手)

雷吉·布什在十月份有多少次仓促触地得分

我在编写能够帮助我获得这些信息的查询时遇到了很多困难。谁能帮帮我吗

澄清一下:除了(passing | rushing | fieldgoal)是一个枚举和格式为YYYY-MM-DD的日期之外,所有内容都是一个字符(25)


编辑:这是一个包含我的一些数据的粘贴箱:

我建议您更改设计,并创建一个包含玩家数据(名字、姓氏等)、团队等的单独表格。然后在PlayerRecord表上按ID引用球员/球队。

到目前为止,你有什么,你在挣扎什么?到目前为止,你已经尝试过。。。?还有,如果你脑子里有这些特定的查询,却不知道如何设计它们,那么你到底为什么要这样设计你的模式呢?我已经设置好了我的数据库(包括填充的表和数据)。我只是想在我的表上运行一个查询,以获取上面3个问题中的信息。我对数据库和SQL非常熟悉。你真的需要了解规范化,这种设计在查询中不起作用。嘿,@carlosb。我只是规范化了我的数据库。你现在可以看一看吗?你的桌面游戏团队是不必要的,因为在桌面游戏中你已经有了游戏id加上两个团队id'sOk,我会删除它。我为我的应用程序添加了一个包含一些数据的粘贴箱。我如何列出田纳西州赢得的所有比赛(包括日期和对手队)?根据您当前的结构,您可以这样做:选择t1.name作为team1,t2.name作为team2,g.id作为game_id,g.date作为游戏\U从游戏g开始的日期t1.id=g.tid1在t2.id=g.tid2左外部加入团队t2.id=g.tid2,其中t1.name='Tennessee'或t2.name='Tennessee'
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