複数の行を返す次のSQLがあります。
declare @blabla
select id from table where @blabla = blabla and blabla is blabla
以下のような複数の ID を返します。
後でストアドプロシージャについて説明します。そのクエリから結果を取得する必要があります。したがって、次のような別のクエリがあります。
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 は 1 行しか返しませんでした。
これは、最初のクエリが実行されたときの最後の行です。
@result には、最後の ID だけでなく、複数の ID を含めたいと考えています。どうやってやるの?私のスクリプトの何が問題になっていますか?
ご提供いただけるご支援をいただければ幸いです。
ありがとう!