0

次の関数を入力して、phpmyadminのmysqlテーブルから完了したタスクの数をカウントしたいのですが、常に説明のないエラーが返されます。

 DELIMITER $$
 CREATE FUNCTION `num_completed`(v1 INT)
 RETURNS INT
 BEGIN
 DECLARE icm INT;
 SELECT SUM(IF(completed='yes',1,0)) AS completed INTO icm FROM ri_t_course_progress WHERE enrollment_id=v1;
 RETURN icm;
 END$$

クエリ自体は正しいはずです。私はそれをテストし、望ましい結果を返しました。誰かが何が悪いのか知っていますか?

4

1 に答える 1

2

SELECTの結果を変数に割り当てる必要があります。これが1つの方法です:

 SELECT SUM(IF(completed='yes',1,0)) INTO icm 
 FROM ri_t_view_course_progress WHERE enrollment_id=v1;
于 2013-02-07T12:55:16.027 に答える