この小さな SQL クエリがあります。
SELECT a.`id` , a.`title` , a.`date` ,
(
SELECT MAX( grade )
FROM tests
WHERE userid = 41
AND presid = a.`id`
) AS grade
FROM `presentations` a
WHERE a.`visible` = 1
AND `grade` >= 5
ORDER BY `grade` DESC
これは私にエラーを与えます
1054 - 'where 句' の列 'grade' が不明です
しかし、最後の2行目を削除すると、正常に動作します。テストテーブルに名前を付けて、その名前を成績に追加しようとしましAND a.grade
たが、まだ運がありません。
このインライン クエリを WHERE 句で使用するにはどうすればよいですか?
これが機能することがわかりましたが、それが唯一の方法ですか?
SELECT a.`id` , a.`title` , a.`date` ,
(
SELECT MAX( grade )
FROM tests
WHERE userid = 41
AND presid = a.`id`
) AS grade
FROM `presentations` a
WHERE a.`visible` = 1
AND (
SELECT MAX( grade )
FROM tests
WHERE userid = 41
AND presid = a.`id`
) >= 5
ORDER BY `grade` DESC