0

次のクエリを使用して、学生、学生が設定した目標、関連する基準、およびその基準に対する現在の成績に関する情報を取得しています。

規格ごとに複数のグレードが存在する可能性があり、最新のグレードが必要なので、サブクエリを追加して最新の日付を取得しました。

XAMPPでテストするとコードはうまく機能しますが、サーバーにロードされません。データベースは同一であり、他に何が問題なのかわかりません。

SELECT users.firstName, goals.goalgrade, 
standards.standard, goals.why, grades.grade                                 
FROM users
    LEFT JOIN goals ON goals.userid = users.id
    LEFT JOIN standards ON standards.id = goals.mid
    LEFT JOIN grades ON grades.testId = standards.standard
        AND grades.userId = users.id
        AND grades.date = (SELECT date FROM grades ORDER BY date DESC LIMIT 1)
WHERE users.teacherId = :teacherId
AND users.block = :block
ORDER BY $sortall
4

1 に答える 1

0

私は問題を修正し、共有すると考えました。XAMPP を使用したサブクエリは、日付自体は問題ありませんでしたが、サーバーは、変更したテーブル名を追加する必要がありました。

   grades.date = (SELECT date FROM grades ORDER BY date DESC LIMIT 1)

に:

AND grades.date = (SELECT grades.date FROM grades ORDER BY grades.date DESC LIMIT 1)

私のサーバーは、XAMPP が MySQL 5.1.44 を実行しているのに対し、MySQL 5.0 を実行していると言っています。これが違いを生むかどうかはわかりませんが、うまくいきました。乾杯

于 2013-03-29T16:53:43.380 に答える