1

選択した 0 または 1 の内容を no または yes に変換し、表の下から検索する方法はありますか?

UPDATE #__comprofiler   
SET cb_trainingpass =   ( SELECT c_passed
FROM #__quiz_r_student_quiz
WHERE #__quiz_r_student_quiz.c_student_id = #__comprofiler.user_id)
WHERE EXISTS
  ( SELECT c_passed
FROM #__quiz_r_student_quiz
WHERE #__quiz_r_student_quiz.c_student_id = #__comprofiler.user_id);

ユーザーがテストを受けると、0 = 不合格、または 1 = 合格という結果が返されます。これをフィールド cb_trainingpass に送信していますが、代わりに yes (合格の場合) または no にしたいと考えています。また、ユーザーはテストを複数回受けており、最新の結果を取得しようとしていますが、残念ながら、このクエリは一番上の結果または最初の結果を取得し、最新の結果を見つけることはありません。

4

1 に答える 1

1

のようなものを試してください

UPDATE #__comprofiler   
SET cb_trainingpass =   ( SELECT if(c_passed=1,'yes','no')
FROM #__quiz_r_student_quiz
WHERE #__quiz_r_student_quiz.c_student_id = #__comprofiler.user_id
order by #__quiz_r_student_quiz.YOURDATEFIELD desc)
WHERE EXISTS
  ( SELECT c_passed
FROM #__quiz_r_student_quiz
WHERE #__quiz_r_student_quiz.c_student_id = #__comprofiler.user_id);
于 2012-07-26T20:21:15.737 に答える