1
我有以下語句,它會產生此錯誤。很明顯,select語句的第一行中的別名「R」沒有聲明,但它在語句的最後。有人有主意嗎?MySQL存儲過程在選擇語句中說未定義別名
#1327 - 未聲明的變量,R
CREATE PROCEDURE `get_series_completion`(IN team1_id INT, IN team2_id INT, IN round_shortname VARCHAR(5))
BEGIN
DECLARE num_games_total, num_games_played INT;
SELECT COUNT(*) INTO num_games_played, R.games_per_series INTO num_games_total
FROM (
SELECT game_id
FROM team_games
WHERE team_id IN (team1_id, team2_id)
GROUP BY game_id
HAVING COUNT(*) = 2
AND SUM(standing = 0) = 0
) AS S, rounds AS R ON R.round_shortname = round_shortname;
SELECT num_games_played/num_games_total;
END$$
哦,我會試試這個。我將「LEFT JOIN」切換到「,」,並忘記改變它。 – lwansbrough 2013-04-05 04:41:14
對於您發佈的所有變體,仍然會收到相同的未聲明錯誤。 – lwansbrough 2013-04-05 04:46:17
@iLoch,檢查更新的答案 – 2013-04-05 04:49:02