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