2017-08-24 110 views
-2

我在SQL方面相當新穎。 我想知道的是它可以爲許多項目做一套,如SQL SET多個,與IN語句相同

SET 
@item in ('11', '12', '13', '14') 

所以在WHERE語句,我可以

WHERE 
item_id = @ item 

謝謝!

+0

不,但你可以嘗試交換自己的位置 – LONG

+2

你的問題不是很清楚。也許嘗試用單詞解釋它,因爲看起來你不知道SQL sintaxis。看起來像試圖設置一個變量,但沒有表?也許你想要一個數組? –

+0

當你嘗試時會發生什麼? –

回答

2

你不能用一個標量做到這一點。

你可以儘管多個值存儲與表變量,從而使您的WHERE子句中,您可以:

WHERE item_id IN (SELECT item_id FROM @item) 
+0

我明白了!謝謝! –

0

Tab是正確的。像這樣的東西可以工作太

declare @tab table(FirstName varchar(100)) 
insert into @tab values('John'),('Sarah'),('George') 

SELECT * 
FROM @tab 
WHERE 'John' in (FirstName) 

或作爲選項卡的例子,

SELECT * FROM MyTable WHERE MyField IN(Select FirstName FROM tab) 
1

您可以使用表變量並插入值:

declare @itens table (id int) 
insert into @itens (id) values (1),(2),(3),(4),(5) 

然後你可以使用

WHERE item_id in (select id from @ item) 
+1

好吧,非常感謝! –