私はこの小さなSQLクエリを持っています。 '節'なぜ私はインラインSELECT値をソートできますが、WHERE句でそれを使用できませんか?
に不明な列 'グレード' しかし、私は2番目の最後の行を削除した場合、それが正常に動作します - これは私にエラー
1054を与える
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
。私は
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
ありがとう –