Mysql 单个select语句错误“每个派生表都必须有自己的别名”
几天来,我一直试图让下面的select语句起作用,但没有任何运气。代码的一个快速总结是,它返回数据库中所有团队的列表,以及每个团队对排名前10的团队的获胜次数。胜利将从包含所有已玩游戏的游戏表中提取。这是我的密码Mysql 单个select语句错误“每个派生表都必须有自己的别名”,mysql,sql,mysql-error-1248,Mysql,Sql,Mysql Error 1248,几天来,我一直试图让下面的select语句起作用,但没有任何运气。代码的一个快速总结是,它返回数据库中所有团队的列表,以及每个团队对排名前10的团队的获胜次数。胜利将从包含所有已玩游戏的游戏表中提取。这是我的密码 SELECT IF(@last_ranking <> formula, @current_rankings := @current_rankings + 1, @current_rankings) AS rank, @last_ranki
SELECT IF(@last_ranking <> formula, @current_rankings := @current_rankings + 1, @current_rankings) AS rank,
@last_ranking := formula,
prequery.team,
prequery.formula
FROM (select @current_rankings := 0) sqlvars,
(SELECT team,
SUM(score) formula
FROM (SELECT g.home_team,
SUM(CASE WHEN t.team_id IS NULL THEN 0 ELSE g.home_wins END) AS formula
FROM games g LEFT JOIN
_top_10 AS t ON g.away_team = t.team_id
WHERE
g.season = 2012 AND
g.completed = 1
UNION ALL SELECT g.away_team,
SUM(CASE WHEN t2.team_id IS NULL THEN 0 ELSE g.away_wins END) AS formula
FROM games g LEFT JOIN
_top_10 AS t2 ON g.home_team = t2.team_id
WHERE
g.season = 2012 AND
g.completed = 1),
(SELECT @current_rankings := 0, @last_ranking := 0) r
GROUP BY team ORDER BY formula DESC ) prequery;
但我一直得到以下错误
错误代码:1248。每个派生表都必须有自己的别名
有人能看出我做错了什么吗。谢谢 由于SELECT语句的对齐,您可能无法添加别名
SELECT IF(@last_ranking <> formula, @current_rankings := @current_rankings + 1, @current_rankings) AS rank,
@last_ranking := formula,
prequery.team,
prequery.formula
FROM (select @current_rankings := 0) sqlvars,
(
SELECT team,
SUM(score) formula
FROM (
SELECT g.home_team,
SUM(CASE WHEN t.team_id IS NULL THEN 0 ELSE g.home_wins END) AS formula
FROM games g LEFT JOIN
_top_10 AS t ON g.away_team = t.team_id
WHERE g.season = 2012 AND
g.completed = 1
UNION ALL
SELECT g.away_team,
SUM(CASE WHEN t2.team_id IS NULL THEN 0 ELSE g.away_wins END) AS formula
FROM games g LEFT JOIN
_top_10 AS t2 ON g.home_team = t2.team_id
WHERE
g.season = 2012 AND
g.completed = 1
) AS AliasHere, -- <<=== HERE
(SELECT @current_rankings := 0, @last_ranking := 0) r
GROUP BY team ORDER BY formula DESC
) prequery;
+1.非常好的捕捉,在建议修复时清楚地指出了问题所在。谢谢,在查找问题时,我关注的是联合体中的两个select语句。正确的缩进有助于: