2015-10-06 79 views
2
DECLARE @Companies_List char(25) 
SET @Companies_List = ('Amazon','Google','Facebook') 

select * 
from companies 
where name in @Companies_List 

我是SQL Server的新手。我试图创建一个包含我想在SQL where子句中使用的值的全局集合,但显然上面的脚本不起作用。任何想法我应该怎么做?非常感谢!在sql server中创建全局变量列表/集合

+0

表变量答案是一个好主意。表定义与你声明为'char(25)'的变量匹配。我建议使用'varchar(25)'代替。 – Morpheus

回答

3

我会创造一个TABLE变量和这样的名单做一个JOIN它:

DECLARE @Companies_List TABLE 
(
    Name Char(25) 
) 

INSERT @Companies_List (Name) 
VALUES ('Amazon'), ('Google'), ('Facebook') 

SELECT C.* 
FROM Companies  C 
JOIN @Companies_List CL ON C.Name = CL.Name 

如果你想更具体的东西,你应该做一个物理TABLE

+0

太棒了!谢谢! –