2012-03-21 322 views
9

私は一時的な関係でSQL文を使用しています、と私は声明に何か問題が表示されていないので、どのような援助が大幅に高く評価されてエラーにORA-009933: SQL command not properly endedSQLコマンドが正しく終了していませんか?

を取得しています。文は次のとおりです。=>すべてのasキーワードを削除

SELECT Temp.name, 
     Temp.AvgSalary 
FROM (SELECT A.aid, 
       A.aname  AS name, 
       AVG(E.salary) AS AvgSalary 
     FROM Aircraft A, 
       Certified C, 
       Employees E) AS Temp; 

おかげ

+1

? 'join'条件も' group by'もありません。 – Aprillion

+0

あなたは正しいです、私は '団体 'が必要です。ありがとう –

答えて

20

Oracleは唯一の列の別名のために、表の別名のためasをサポートしていないと、彼らはその使用のためのオプションです。)

+0

これによって、明確にするために、私は 'SELECT LNAME || '、' ||代わりにFNAME、ORG FROM myTable'を使用してください。私はこのようなことをやっていました: 'SELECT(SELECT LNAME || '、' || myTable AS NAMEからのFNAME)、ORG FROM myTable'、そしてこの後者のフォーマットではサブクエリがありました。この「SQLコマンドは正しく終了しませんでした」エラーです。 – vapcguy

7

あなたはshouldn ASの温度を入れないでください。エイリアスをテーブル(またはサブクエリ)に配置するときには、エイリアスのみを記述してください。これは動作するはずです:本当に

SELECT Temp.name, Temp.AvgSalary 
FROM (SELECT A.aid, A.aname AS name, AVG(E.salary) AS AvgSalary 
     FROM Aircraft A, Certified C, Employees E) Temp; 

敬具、

関連する問題