【问题标题】:Use ID from a table then use ID from that table to get data SQL使用表中的 ID,然后使用该表中的 ID 获取数据 SQL
【发布时间】:2017-05-03 05:16:04
【问题描述】:
SELECT
    player.FirstName,
    player.LastName,
    team.teamName,
    TotalPoints,
    TotalRebounds,
    TotalAssists,
    TotalSteals,
    TotalBlocks
FROM playerstats
INNER JOIN player
    ON playerstats.PlayerID = player.PlayerID

我有一个名为 player 的表(玩家 ID、名字、姓氏、团队 ID) 名为 Team (teamID, teamName) 的表。我有一个名为 playerstat 的表(有 playerID)

我想列出名字、姓氏和球队以及总分、篮板等

我想使用 playerID 来获取团队 ID,然后列出团队名称......如果这有意义的话。不知道该怎么做。

【问题讨论】:

  • 只需添加一个WHERE 子句?您当前的查询有什么问题?
  • 您当前的查询有什么问题?
  • 您的查询中的团队表在哪里? IOW,你从哪里得到 team.teamName?
  • 我收到此错误 - '字段列表'中的未知列'team.teamName'
  • team.teamName 在 Team 表中,而团队 ID 在 Player 表下。 playerstats 表只有 playerID。

标签: mysql database phpmyadmin


【解决方案1】:

在您的问题中,您没有说明 playerstats 表是否每个球员有多行,也没有说明球队表的列可能是什么,而是假设 playerstats 表每个球员有多个行,并且你有一个团队表,你可以试试这个。您需要替换正确的列名:

SELECT
    player.FirstName,
    player.LastName,
    team.teamName,
    sum(points) as TotalPoints,
    sum(rebounds) as TotalRebounds,
    sum(assists) as TotalAssists,
    sum(steals) as TotalSteals,
    sum(blocks) as TotalBlocks
FROM playerstats
INNER JOIN player
    ON playerstats.PlayerID = player.PlayerID
JOIN team
    ON team.id = player.teamID
GROUP BY player.FirstName, player.LastName,team.teamName
ORDER BY player.FirstName, player.LastName,team.teamName;

【讨论】:

    【解决方案2】:
    Select P.FirstName,P.LastName,t.teamName,s.TotalPoints 
    from Player P
    join Team t on P.TeamId=t.TeamId
    join playerstats s on P.PlayerId=s.PlayerId
    

    【讨论】:

    • 嗨。虽然这可能是一个答案,但如果您可以添加一些关于您在那里所做的事情的解释,它会帮助更多偶然发现这个问题的读者。这可能是他们在SQL 相关内容中的第一个内容。因此,如果您能抽出时间,将不胜感激。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-21
    • 2010-10-21
    • 1970-01-01
    相关资源
    最近更新 更多