Я не уверен, как исправить синтаксис внутри моего proc sql в SAS. Мой код выглядит примерно так:
proc sql;
create table HI
as select [columns]
from [table]
where column1 not in ('..', '..', '..') /*This has no errors*/
AND column2 in ('...', '...', '...') /*This has no errors*/
AND column3 in (('...','...','...',.......)
or column3 like ('J%')) /*This AND statement gives the errors*/
Первая ошибка заключается в том, что он ожидает SELECT и подчеркивает первый "..." для условия в столбце 3. (Ошибка 79-322)
Следующая ошибка находится в конце условий в столбце 3 перед оператором OR. В нем говорится, что ожидается одно из следующего: строка в кавычках,!, !!, &, *, **, +, ',', -, /, <, <=, <>, =,>,> =,?, ..... (Ошибка 22-322)
Затем есть еще две ошибки, которые говорят, что символ не распознан, и еще одна, что оператор будет проигнорирован. - но я полагаю, что они исправятся, если будут исправлены другие.
Любая помощь приветствуется :)





Используйте оператор поиска
AND column3 in (('...','...','...',.......)
or (find(column3,J)>0 and substr(column3,1,1)='J') /*Making sure first char is J*/
измените последние 2 строки как
AND (column3 in ('...','...','...',.......)
or column3 like ('J%'))
/* example*/
proc sql;
create table HI
as select *
from sashelp.cars
where make not in ('Acura', 'Audi') /*This has no errors*/
AND Type in ('SEDAN', "Sports") /*This has no errors*/
AND (Origin in ('Asia','Europe')
or Origin like ('U%')) ;
Добавьте пару скобок для условия column3 нравится
AND (column3 in (('...','...','...',.......)
or column3 like ('J%'))) /*This AND statement gives the errors*/
@Kiran, приношу свои извинения, да, это работает ... как-то я использовал неправильный синтаксис