2016-05-18 12 views
2

ストアドプロシージャをデータベースにアップロードできないようなエラーが発生する原因は何ですか?ストアドプロシージャをデータベースにアップロードする際にエラーが発生しました

エラー1064:あなたのSQL構文でエラーが発生している

PROCEDURE `fel2`(IN diak VARCHAR(20), OUT ki int) 
BEGIN 
IF (SELECT AVG(g.grade) 
FROM grades AS g JOIN subj AS s, the_users AS t 
WHERE 
t.id = g.user_id AND s.id = g.subj_id AND t.name = diak) > 5 THEN 
    SET ki = 1; 
    SELECT 'Atment'; 
ELSE 
    SET ki = 0; 
    SELECT 'N0'; 
END IF; 
END 
+2

。 'グレードからグッドASのジョインサブs AS、the_users AS t'は、(あなたがこれを行うには、クロスジョイン)the_usersに参加し、あなたの問題を解決するかどうかを確認します。それ以外の場合は、SSMSでクエリーをポップアップし、エラーを確認してください。 –

答えて

1
IF (SELECT AVG(g.grade) 
FROM grades AS g JOIN subj AS s, the_users AS t 
WHERE 
t.id = g.user_id AND s.id = g.subj_id AND t.name = diak) > 5 THEN 

べきであるように見える:あなたの参加構文を混合している

IF (SELECT AVG(g.grade) 
FROM grades AS g 
JOIN subj AS s ON g.subj_id=s.id 
JOIN the_users AS t ON g.user_id=t.id 
WHERE t.name = diak) > 5 THEN 
関連する問題