The question:
I am typing the below code and it is returning me “ORA-00923: FROM keyword not found where expected”. What is happening?
SELECT
max(alias.id) AS "id",
(SELECT alias.name FROM EXAM WHERE alias.id = alias.id ) AS "REF",
alias.name
FROM EXAM alias
GROUP BY alias.name
ORDER BY alias.name ASC;
Here’s a fiddle: http://sqlfiddle.com/#!4/537e2/1
The Solutions:
Below are the methods you can try. The first solution is probably the best. Try others if the first one doesn’t work. Senior developers aren’t just copying/pasting – they read the methods carefully & apply them wisely to each case.
Method 1
'COLUMN PREFIX'
is a scalar string, not a valid (alias) column name. Oracle (flagship, not MySQL) uses Double Quotes for such object names. (The ORA
error indicates you are using the flagship product)
Oracle does not distinguish between NULL
and ''
. anything compared to NULL
is unknown. Your case
statement will always go to the else
clause.
I don’t think Oracle allows you to use a column alias in the having
or group by
clause. I can’t test right now.
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0