SQL Server在sql变量中存储多个值

前端之家收集整理的这篇文章主要介绍了SQL Server在sql变量中存储多个值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下查询
select * 
from cars 
where make in ('BMW','Toyota','Nissan')

我想要做的是将where参数存储在sql变量中.

就像是:

declare @caroptions varchar(max);
select @caroptions =  select distinct(make) from carsforsale;
print @caroptions;
select * from cars where make in (@caroptions)

问题是@caroptions的打印只返回最后一个结果:

select distinct(make) from carsforsale;

我希望它存储多个值.

有任何想法吗?

解决方法

您可以使用表变量:
declare @caroptions table
(
    car varchar(1000)
)

insert into @caroptions values ('BMW')
insert into @caroptions values ('Toyota')
insert into @caroptions values ('Nissan')

select * from cars where make in (select car from @caroptions)

猜你在找的MsSQL相关文章