У меня есть следующий SQL запросSQL, как написать это как сценарий
Select * from Name
where surname in ('test1', 'test2')
, который работает
Но я хотел бы сделать следующее
DECLARE @Surname as VARCHAR(100)
set @Surname = 'test1' + ',' + 'test2'
Select * from Name
where surname in @Surname
это реальный запрос, используемый
DECLARE @COESNo as VARCHAR(100)
set @COESNo = '121108883' + ',' + '121108890'
declare @sql varchar(max)
set @sql = 'select [LEI_ACCEPT] , [PREFERED_LEI] , [INSPECTION_COMPANY], [INSP_ACCEPT] from [CERTIFICATE_DETAILS] where [Certificate_no] in ('
set @sql = @sql + @COESNo + ')'
exec @sql
получить ошибку
The name 'select [LEI_ACCEPT] , [PREFERED_LEI] , [INSPECTION_COMPANY], [INSP_ACCEPT] from [CERTIFICATE_DETAILS] where [Certificate_no] in (121108883,121108890)' is not a valid identifier.
не похож на работу
любых идей
вам нужно будет создать ваше заявление и выполнить - как 'объявить @sql VARCHAR (макс)' 'установить @sql =«Select * от имени где фамилия в ('' 'set @sql = @sql + @surname + ')'' После создания инструкции просто скажите 'exec @ sql' – Murtaza
Вам следует молиться и надеяться, что у кого-то нет странных имен или намеренно пытается сделать sql-инъекцию в ваш системы с предлагаемым подходом. (http://xkcd.com/327/) – faester
Зачем вы хотите это сделать? Я думаю, у вас здесь проблема xy. http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem. Ваша проблема, как указано, не имеет смысла. Нам нужно знать, откуда вы получаете свой список IN, и как вы будете заполнять их в своем скрипте. Вручную? Excel? приложение? хранимая процедура? –