0

あなたの一人が私の質問を手伝ってくれることを願っています。

名前、start_date、course_duration などの研修生データを保存できる簡単なコース管理プログラムを構築しています。重要なフィールドの 1 つは、コースの選択、日付、および評価スコアです。

ここで、ユーザーが受講したすべての評価コースの平均を取得する関数を作成したいと思います。

次の方法でテーブルを構造化しています。

ユーザー ID | 名前 | 開始日 | チーム | コース1 | course1_date | course1_assessment | コース2 | course2_date | course2 評価 | コース3 | course3_date | course3_assessment | 等...

現在、すべての評価に対して適切な平均を提供する SELECT 関数を作成する際に問題が発生しています。すべてのフィールドに値が入力されていれば問題ありませんが、研修生がまだ一部のコースを受講していない場合は、平均を取得する必要があります (course2_assessment フィールドが NULL の場合)。

私はsthをやろうとしています。お気に入り:

"SELECT COALESCE(course1_assessment, course2_assessment, course3_assessment)/ (値を持つ COALESCE(Array) からのいくつかのフィールドのみ != NULL) FROM table WHERE name='$name'";

より多くのテーブルを作成するなど、誰かがより良い方法を提案できる場合は、お気軽に提案してください。

よろしく

ヤセク

4

2 に答える 2