1
我尝试执行以下operation.But它给误差存储在临时表中的数据返回多个值错误“子查询返回大于1倍的值。”子查询而使用分割功能
declare @filter varchar(100)='Moving,Idle,Stopped,Working'
declare @filter2 varchar(100)='Init,suspend,Complete'
create table #SPLITITEMS(value varchar(100),value1 varchar(100))
insert into #SPLITITEMS (value,value1)values((select val from dbo.split(@filter,',')),(select val from dbo.split(@filter2,',')))
,这样我可以有更好的表现进行
select * from table1 where column1 in (select value from #SPLITITEMS)
select * from table2 where column1 in (select value1 from #SPLITITEMS)
。
我该如何实现这个任务?他们可以尝试的其他选择吗?有任何想法吗?有什么建议么?
请帮忙。 在此先感谢。
感谢的建议,但因为上面给出的查询是一个大的存储过程的一小部分,我不能使用它。 – Pwavel002
我们给你小解决方案,因为你给小部分....以及'大'是你的商店过程? – Viandry
要求是插入列值在临时表中的形式的过滤器值,这样我可以在像子句中使用它SELECT * FROM表1其中(从#SPLITITEMS选择值).Insert查询列工作,如果临时表只有一列。但对于多列它给出了错误。我不能在这里使用动态查询。 – Pwavel002