我有以下查询:
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)