我有以下查询:
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)
关于SQL Server在sql变量中存储多个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17745421/