我有一些內部(或甚至空)數字的表:@states table (value int)
而且我需要從另一個表中用WHERE子句按確定的列進行SELECT。 此列的值必須與@states
之一匹配,或者如果@states
爲空,則接受所有值(如該列沒有WHERE條件)。 所以,我想是這樣的:SQL IN()內部條件的運算符
select *
from dbo.tbl_docs docs
where
docs.doc_state in(iif(exists(select 1 from @states), (select value from @states), docs.doc_state))
不幸的是IIF()不能返回子查詢結果數據集。我用iif()和CASE嘗試了不同的變體,但它並不成功。如何使這種情況?
左聯接返回的所有行中的文檔。這並沒有回答這個問題。 – Paparazzi