0

ユーザーが入力した配列ではない文字列配列を使用してクエリを実行しようとしています。次のタイプを定義しました。

CREATE TYPE [dbo].[searchData] AS TABLE([searchInput] [nvarchar](max) NOT NULL

ストアドプロシージャでは@tempTable、テーブルタイプの変数に[searchData]WHILEを入力しますが、

SELECT DISTINCT Column1, Column2, Column3, Column1Tabla2 
FROM Tabla1 INNER JOIN Tabla2 ON DT_Tabla1.Column2 = Tabla2.Column1Tabla2 
WHERE Column1 IN (select * from @tempTable)

select * from @tempTable --Devuelve todos los valores que hay en la tabla

[searchData]の最後の値のみを返します。

4

1 に答える 1

0

これは実際には意味がなく、コンパイルされるとは思わない:

WHERE Column1 IN (select * from @tempTable)

おそらくあなたは意味しました:

WHERE Column1 IN (select SearchInput from @tempTable)
于 2013-01-18T21:09:59.323 に答える