2012-03-21 129 views
9

我正在使用臨時關係的SQL語句,並且出現錯誤ORA-009933: SQL command not properly endedSQL命令未正確結束?

我沒有看到任何語句錯誤,因此非常感謝您的幫助。該聲明是:

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

真的嗎?沒有'加入'的條件,沒有'組'? – Aprillion 2012-03-21 19:45:04

+0

你說得對,我確實需要一個'group by'。謝謝 – 2012-03-21 19:57:46

回答

20

Oracle不支持as對錶的別名,只爲列別名,它們是可選的用於該用途=>刪除所有as關鍵字;)

+0

通過這個,澄清,我發現我可以做'SELECT LNAME || ','||取而代之的是FNAME,ORG FROM myTable'。我一直在做這樣的事情:'SELECT(SELECT LNAME ||','|| FNAME FROM myTable AS NAME),ORG FROM myTable',以及後者格式的子查詢,我甚至不需要這樣做這個'SQL命令沒有正確結束'的錯誤,對我來說。 – vapcguy 2016-07-29 15:05:55

7

你不應該不要把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; 

最好的問候,

相關問題