gpt4 book ai didi

mysql - 将 JOIN 添加到 MySQL 中的嵌套 Select

转载 作者:行者123 更新时间:2023-11-30 22:38:48 24 4
gpt4 key购买 nike

对于下面的查询,我希望能够在最终结果中显示在嵌套 Select 中选择的每个玩家的完整玩家名称。我知道如何连接适当的字段:CONCAT (nameFirst, ' ', nameLAST) AS 'playerName' 以及将其放在第一个 SELECT 中的位置。 nameFirst 和 nameLast 都在 Master 表中。关键字段 playerID 在 Batting 和 Master 表中。我不知道的是我需要添加到下面的查询中,以获得在特定赛季中击出最多本垒打的每个大都会队的全名。

SELECT b.*
FROM Batting b JOIN
(SELECT yearID, teamID, MAX(HR) as maxHR
FROM Batting
WHERE teamID = 'NYN'
GROUP BY yearID, teamId
) bb
ON bb.yearId = b.yearId and bb.teamId = b.teamId and bb.maxHR = b.HR;

最佳答案

连接应该是 INNER JOIN 以确保您只选择具有 max(HR) 的记录 - 如果有多个具有相同 max(HR) 的玩家,他们都会出现。然后你应该 LEFT JOIN 主表来获取玩家的名字:

SELECT b.*, CONCAT (m.nameFirst, ' ', m.nameLAST)
FROM Batting b
INNER JOIN
(SELECT yearID, teamID, MAX(HR) as maxHR
FROM Batting
WHERE b.teamID = 'NYN'
GROUP BY yearID, teamId
) bb
ON bb.yearId = b.yearId
and bb.teamId = b.teamId
and bb.maxHR = b.HR
LEFT JOIN Master m
ON b.playerID = m.playerID
ORDER BY b.yearID desc;

关于mysql - 将 JOIN 添加到 MySQL 中的嵌套 Select,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31657955/

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