【发布时间】:2011-11-06 14:30:55
【问题描述】:
嘿,我在下面的 Mysql 查询中遇到了一些问题,我如何从 team_stats 表而不是 driver_stats 表中计算 SUMS(计算点,查询中的第 5 和第 6 和)与现在 team_id = 3 的条件相同。我所需要的只是将这些计算从 driver_stats 表交换到 team_stats 表,我遇到的问题是,当我尝试这样做时,计算就像它一样高不是只为 where team_id = '3' 或任何数字做这些。
任何帮助将非常感谢。
SELECT t.teamname,
t.value,
SUM(IF(qual_pos = '1', 1,0)) AS poles,
SUM(IF(race_pos <= '3', 1,0)) AS podiums,
SUM(IF(race_pos = '1', 1,0)) AS victories,
SUM(overtakes) AS overtakes,
SUM(CASE
WHEN s.track_id = (SELECT MAX(track_id) FROM driver_stats) THEN
points
ELSE
0
End) AS lastracepoints,
# CHANGE THIS SUM AND THE SUM ABOVE TO CALCULATE
# the points column in the tale named TEAM_STATS
# but with the same restrictions as now,
# only where team_id = 3
SUM(points) AS points
FROM driver_stats s
LEFT JOIN drivers d
ON d.drivers_id = s.drivers_id
LEFT JOIN teams t
ON d.team_id = t.team_id
WHERE d.team_id = 3
【问题讨论】: