-1

私はこの問題に数日間取り組んでおり、フォーラムごとにフォーラムを検索しました。この質問をフォーマットするために同じ答えを思いつきましたが、同じ問題が引き続き発生します。誰かが助けてくれることを願っています。このコードでエラー #1064 が発生します。エラーを修正できなかった学生テーブルの呼び出しに関係していることはわかっています。

UPDATE
  s 
SET
  tot_cred = u.real_cred 
FROM
  student s
  JOIN (
    SELECT ID, SUM( credits ) real_cred
    FROM takes t
    JOIN course c ON t.course_id = c.course_id
    WHERE grade <>  'F'
    AND grade IS NOT NULL 
    GROUP BY ID
  ) u ON s.ID = u.ID
4

1 に答える 1

1

の結合構文で update を使用しています。これはSQL ServerですMySQL:

UPDATE  student s 
        INNER JOIN 
        (
            SELECT  ID,     SUM( credits ) real_cred
            FROM    takes t
                    INNER JOIN course c 
                        ON t.course_id = c.course_id
            WHERE   grade <>  'F' AND 
                    grade IS NOT NULL 
            GROUP   BY ID
        ) u ON s.ID = u.ID
SET     s. tot_cred = u.real_cred 
于 2013-03-01T06:53:46.907 に答える