0
如果我有:在聲明中不接受選擇?
select * from Dealer DDDD
left join Filter FFFF on DDDD.dealer_id = FFFF.DealerId
WHERE FFFF.FilterId IN (CASE WHEN EXISTS (Select 1 from @filterIds) THEN (Select FilterId from @filterIds) ELSE FFFF.FilterId END)
@filterIds
是其中具有2個記錄即時測試的表值參數。 如果我有它作爲null或只有1值沒有問題,但如果2個或更多的即時通訊「子查詢返回多個1值時,子查詢用作表達式。」錯誤。
我想測試它只是有:
WHERE FFFF.FilterId IN (Select FilterId from @filterIds)
和它的作品。
但我需要它與過濾器可能不會輸入的考慮。
THANKs提前的傢伙!
'where FFFF.FilterId = FFFF.FilterId'總是true當NULL爲空時執行。目前還不清楚你問什麼。此外,錯誤是明確的,你不能返回超過1個值的情況下statemen。添加數據樣本的預期結果 – Horaciux
如果@filterIds有0行,我想要返回所有內容 – NoOne
我也試過了: AND FFF.FilterId IN(COALESCE((Select FilterId from @filterIds),FFFF.FilterId)) – NoOne