我有一個變量,我需要檢查,看看值是什麼,我需要做一個內部連接到不同的表基於什麼值。這裏是要問什麼,我的例子...如何有條件地將內部連接添加到select語句?
Declare @category nvarchar(100)
select *
from tableA a
if (@category = 'all)
begin
inner join tableB b on b.ID = a.ID
end
else if (@category = 'open')
begin
inner join tableC c on c.ID = a.ID
end
更新:我想我應該包括我使用公用表表達式,我已經嘗試使用動態SQL,甚至做if語句調用不同的CTE,但似乎CTE不喜歡任何東西,只是一個簡單的選擇語句。
感謝您對我的任何建議。
您是否正在考慮使用參數化存儲過程? –