0
我試圖忽略#tmp表爲空時的位置。當#tmp表爲空忽略其中
像:
create table #tmp
(
my_id int
)
create table #tmp2
(
my_name_id int
)
select * from foo
where foo_id in (select my_id from #tmp)
and foo_name_id in (select my_name_id from #tmp2)
而現在的情況。 當我們有一個表格爲空時,它不會產生任何結果。
#tmp不是空
#TMP1是空
所以,我在那裏用#TMP1應該被忽略。 有什麼線索怎麼做?
感謝您的回答,將盡快進行檢查。 我的參數是逗號分隔,我調入#tmp。 – VoonArt 2013-04-22 07:17:41
在這種情況下,請考慮使用空/空的逗號分隔值檢查原始參數並執行其他查詢。 a)它將比臨時表上的NOT EXISTS更快,並且b)您不會因爲第一次調用它時給出的值而陷入糟糕的查詢計劃(請參閱「參數嗅探」的問題) – LoztInSpace 2013-04-22 12:00:44