gpt4 book ai didi

php - MySQL - LEFT JOIN - 如何获得我需要的值

转载 作者:行者123 更新时间:2023-11-29 12:22:49 25 4
gpt4 key购买 nike

我有三个表:“playerstat”、“player”和“game”。

“playerstat”表第一次是空的,“玩家”已经可以选择玩家,并且“game”表也有一个可以分配统计数据和玩家的条目。现在我希望列出具有相关统计数据的球员。您可以给每个玩家积分或其他统计数据。这已经有效了。

“playerstat”(每个玩家在填写诸如点数之类的数据后就会自动出现)和“game”表中的条目具有相同的关系代码。玩家没有关系代码,因为游戏总是在变化,但玩家保持不变。

我的问题是,如果游戏完成并开始新游戏,并且我向玩家输入数据,则积分等再次出现在第一个游戏统计中。因此第二场比赛的新数据将添加到第一场比赛的统计数据中。

我如何才能将分数添加到也具有游戏和统计数据关系代码的相应统计数据中?

这是我的查询:

$stmt = $conn->prepare("SELECT 
lt_player.name, lt_player.surname, lt_player.nickname,
lt_player.number, lt_player.id as playerid,
lt_playerstat.points, lt_playerstat.team_id,
lt_playerstat.rel_code
FROM
lt_player
LEFT JOIN lt_playerstat ON (lt_player.id = lt_playerstat.playerid)

我真正需要的是“WHERE lt_playerstat.rel_code = 'lt_game.rel_code'”,同时需要所有可用的玩家。我该怎么做?

这是我的表格:

玩家统计数据 id 游戏 ID team_id 玩家ID 活跃 rel_code

玩家 id team_id 名称 姓氏 昵称 数字

游戏 id team_id 日期 时间 rel_code

第一场比赛统计数据“denny doodle”有 4 分 enter image description here

第二场比赛统计数据“denny doodle”再次有 4 分,因为这是第一场比赛的统计数据,而不是第二场比赛的统计数据,因为我猜缺少与比赛的关系。 enter image description here它显示所有条目,即使它不是当前游戏的真实代码。 enter image description here

最佳答案

假设您知道当前游戏的 rel_code 是什么:

SELECT 
lt_player.name, lt_player.surname, lt_player.nickname,
lt_player.number, lt_player.id as playerid,
lt_playerstat.points, lt_playerstat.team_id,
lt_playerstat.rel_code
FROM
lt_player
INNER JOIN lt_game
LEFT JOIN lt_playerstat ON (lt_playerstat.playerid = lt_player.id)
where lt_game.rel_code = 'The Rel Code Of the Current Game'

如果你想对游戏中每个玩家的得分进行求和

SELECT 
lt_player.name, lt_player.surname, lt_player.nickname,
lt_player.number, lt_player.id as playerid,
sum(lt_playerstat.points), lt_playerstat.team_id,
lt_playerstat.rel_code
FROM
lt_player
INNER JOIN lt_game
LEFT JOIN lt_playerstat ON (lt_playerstat.playerid = lt_player.id)
where lt_game.rel_code = 'The Rel Code Of the Current Game'
group by lt_player.id

如果你不知道当前游戏的rel_code,那么你就不能这样做。

不确定“所有可用玩家”是什么意思,但这将为您提供具有player_stat行和正确rel_code的所有玩家的player_stat。

关于php - MySQL - LEFT JOIN - 如何获得我需要的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28776249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com