他の言語の構文をSQLと混同している可能性がありますが、これが機能しないのはなぜですか、私のサブクエリーは間違いです。以下の2つのテーブル持っSQL:2つのテーブル間で計算された率による注文
:
TEST_RESULTS
Student_ID Test_ID Test_Result
A1 234 90
B2 234 80
C3 345 85
D4 234 95
A1 345 95
C3 456 95
TEST_DESCRIPTION
Test_ID Test_Description Passing_Score
234 Test A 85
345 Test B 90
456 Test C 95
を、私はそれによって各テストおよびソートに合格率を計算します。
私が探しています出力は:
Test_ID Test_Description students_taking students_passing rate
456 Test C 1 1 1
234 Test A 3 2 0.666666667
345 Test B 2 1 0.5
これは私のクエリ
SELECT td.Test_ID, td.Test_Description, COUNT(tr.Student_ID) as
students_taking, students_passing, students_passing/students_taking as rate
FROM
(SELECT td.Test_ID, td.Test_Description, COUNT(tr.Student_ID) as
students_passing
FROM TEST_RESULTS tr
JOIN TEST_DESCRIPTION td
on tr.Test_ID = td.Test_ID
WHERE tr.Test_Result > td.)
GROUP BY td.Test_ID, td.Test_Description
ORDER BY rate DESC, td.Test_ID, td.Test_Description
である私、私はこのクエリには結果を取得していないのですので、選択から選択し、間違っています。
'へと改名しましたどうもありがとうございました - 他のアプローチよりもCTEを使用するメリットは何ですか? – jeangelj