У меня есть следующий SQL, который возвращает несколько строк:несколько строк в одной переменной SQL
declare @blabla
select id from table where @blabla = blabla and blabla is blabla
он возвращает несколько записей, как показано ниже:
Теперь позже мою хранимую процедуру. Мне нужно получить результат этого запроса. поэтому у меня есть еще один такой вопрос:
select column from table where blabla IN (that 1st query)
Таким образом, мое решение состояло в том, чтобы поставить первый запрос выше в переменной, а затем выполнить его. Так что я сделал вот так:
declare @query nvarchar(max)
set @query=
'
declare @blabla
select @body = id from table where @blabla = blabla and blabla is blabla
'
declare @result as nvarchar(max)
exec sp_executesql @query, N'@body varchar(max) output', @body = @result output
select column from table where blabla IN (@result)
Но @result выше только вернул одну строку.
, которая является последней строкой, когда мой первый запрос выполняется.
Я хочу, чтобы мой @result содержал несколько идентификаторов, а не только последние. Как я могу это сделать? Что случилось с моим скриптом?
Любая помощь, которую вы могли бы предоставить, была бы весьма признательна.
Спасибо!