返される別のselectステートメントにselectステートメントを実行し、返された変数の1つを使用しようとしています。 = 413selectステートメントで使用する検索から変数を返す
FIELD_IDに基づいて
クエリ検索私はITEM_IDことを持っているすべての行6を取得するクエリで使用することができるように6が返さ必要があります。ここで
は私が持っているものです。
DECLARE @Results TABLE(result sysname);
INSERT @Results(result);
DECLARE @SQL4 NVARCHAR(MAX) = 'Select DISTINCT ITEM_ID, ATRR_VAL from [dbo].[CONTRACT_ATTR] WHERE [ATTR_VAL] LIKE ''%@VALUE%'' AND FIELD_ID = 413 ORDER BY [ATTR_VAL]';
SET @SQL4 = replace(@SQL4, '@VALUE', '123456');
EXEC SP_executesql @SQL4;
SELECT * FR0M @Results
これはオンラインチュートリアルに従うことをしようとしていても、私は複数のエラーを取得しています。私は間違って何をしているのですか?どうすれば修正できますか?
編集:私は近づいています:
declare @myTable table
(
ITEM_ID nvarchar(256),
ATTR_VAL nvarchar(256)
)
insert into @myTable
exec (N'Select ITEM_ID, ATTR_VAL from [dbo].[CONTRACT_ATTR] WHERE [ATTR_VAL] LIKE ''%123%'' AND FIELD_ID = 413 ORDER BY [ATTR_VAL]') --dynamic query
select * from @myTable
'INSERT'文は不完全です。どのデータをテーブル変数に挿入しようとしていますか? –
@GiorgosBetsos私は(ITEM_ID、ATRR_VAL)を挿入しようとしています。 –
それはできません。 '@ Results'テーブルには1つのカラムしかありません。そしてなぜ、 'nvarchar'の代わりに' sysname'を使うのですか? –