2012-03-21 77 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; 

最好的问候,

相关问题