2013-01-18 74 views
0

我試圖做一個字符串數組,不是用戶進入陣列的查詢,我已經定義了以下類型選擇CON存儲過程我填寫表型[searchData]@tempTable可變用一段時間,但當凡(用戶定義的表類型)

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]的最後一個值。

+2

可你用英語發佈的一切,刪除西班牙語單詞。 –

+1

你也可以發佈填充表變量的while循環嗎? –

+1

你爲什麼使用WHILE循環?爲什麼你不使用表值參數? –

回答

0

這並沒有真正意義,我不認爲它會編譯:

WHERE Column1 IN (select * from @tempTable) 

也許你的意思是:

WHERE Column1 IN (select SearchInput from @tempTable) 
+0

是的,當't'有單列時['c IN(SELECT * FROM t)'does compile](http://sqlfiddle.com/#!3/d41d8/8022)。 –

+0

@AndriyM很奇怪,我仍然不知道爲什麼你會想這樣寫... –

+0

我絕對和你在一起。 –