2016-05-30 5 views
0

スキーマがあるとして、ほとんどの任務を持っている屋外の講師の名前を表示しますしかし、そのあなたがあなたのクエリで「Activity_supervisor A」への2つの参照を持っている活動スーパーバイザ

SELECT O.InstructorID, O.InstrName, O.SupervisorID, A.SupervisorID, COUNT(*) 
FROM Outdoor_instructor O, Activity_supervisor A 
INNER JOIN Activity_supervisor A ON A.SupervisorID = O.SupervisorID 
GROUP BY SupervisorID O, InstrName O 
ORDER BY COUNT(*) DESC 
LIMIT 1; 
+0

? LIMIT 1?私はPL/SQLとは思わない? –

+0

4行目にエラーがあります。これはsql oracleです –

+0

エラーは何ですか? –

答えて

1

を働いていません。また、セグメント

して、グループ内の複数の値があるはずです ことは、これを試してみてください。何が動作していない

SELECT O.InstructorID, O.InstrName, O.SupervisorID, A.SupervisorID, COUNT(*) 
FROM Outdoor_instructor O 
INNER JOIN Activity_supervisor A ON A.SupervisorID = O.SupervisorID 
WHERE rownum = 1 
GROUP BY O.InstructorID, O.InstrName, O.SupervisorID, A.SupervisorID 
ORDER BY COUNT(*) DESC 
+1

これはうまくいくはずです。私が言及したように、PL/SQLの "Limit"キーワードはなく、 "Limit"はMYSQLのためのものです。 –

+0

SQL> Outdoor_instructor O 3 INNER FROM O.InstructorID、O.InstrName、O.SupervisorID、A.SupervisorID、COUNT(*) 2を選択O.InstructorID BY Activity_supervisor A ON A.SupervisorID = O.SupervisorID 4グループに参加します、O.InstrName、O.SupervisorID、A.SupervisorID 5 WHERE rownum = 1 6 ORDER BY COUNT(*)DESC 7; WHERE rownum = 1 * 行5のエラー: ORA-00933:SQLコマンドが正しく終了していません –

+0

私の答えが更新されました。 where句を間違った順序で配置しました。もう一度お試しください@TuğçeDemir –