9

I am using a SQL statement with a Temporary relation, and am getting the error ORA-009933: SQL command not properly ended

I don't see anything wrong with the statement, so any assistance is greatly appreciated. The statement is:

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; 

Thanks

Paul Woidke
  • 928
  • 4
  • 18
  • 40

2 Answers2

21

oracle does not support as for table aliases, only for column aliases and they are optional for that use => delete all as keywords ;)

Aprillion
  • 21,510
  • 5
  • 55
  • 89
  • By this, for clarification, I found I could do `SELECT LNAME || ', ' || FNAME, ORG FROM myTable` instead. I had been doing something like this: `SELECT (SELECT LNAME || ', ' || FNAME FROM myTable AS NAME), ORG FROM myTable`, and this latter format with the subquery it turned out I didn't even need was causing this `SQL Command not properly ended` error, for me. – vapcguy Jul 29 '16 at 15:05
8

You shouldn't put the AS temp. When putting alias to a table (or subquery) you should only write the alias. This should work:

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;

Best regards,

Christian Vielma
  • 15,263
  • 12
  • 53
  • 60