Hi ,
I am using
proc sql;
create table pp as
select substr(cc,2,2) as yy,
code
from bb
order by code ,cc
;
quit;
And i get below warning what should i do if i dont want to get this message . Can anyone help
NOTE: The query as specified involves ordering by an item that doesn't appear in its SELECT clause.
ODBC: AUTOCOMMIT is NO for connection 6
SAS_SQL: Unable to convert the query to a DBMS specific SQL statement due to an error.
ACCESS ENGINE: SQL statement was not passed to the DBMS, SAS will do the processing.
SAS_SQL: Unable to convert the query to a DBMS specific SQL statement due to an error.
ACCESS ENGINE: SQL statement was not passed to the DBMS, SAS will do the processing.
ODBC: AUTOCOMMIT turned ON for connection id 6
Order by operates on the end result of the statements - i.e. after the select anf from have operated, at which point the available columns are YY and CODE.
Can you provide your full code, the error is telling you your code will be executed in SAS rather than in the database, which indicates at some point you are using a database - MS Access possibly. MS Access does not support a substr function.
Also the note you get is because CC is not a variable in the select - it is used, but not selected.
Hi ,
So if i do
order by code ,yy then i dont get the error
but from table has cc variable in it
Thanks,
Order by operates on the end result of the statements - i.e. after the select anf from have operated, at which point the available columns are YY and CODE.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.