我是一個SQL新手,我使用mssql2005加入條件取決於參數
我喜歡做輸入參數加入動作depression。
CREATE PROCEDURE SelectPeriodicLargeCategoryData
@CATEGORY_LEVEL CHAR(1),
@CATEGORY_CODE VARCHAR(9)
AS
...
JOIN CATEGORY_AD_SYS CAS WITH(NOLOCK)
ON CA.CATEGORY_ID = [[[[[ HERE ]]]]
以上的sql。
如果@CATEGORY_LEVEL = 'L'
話,我想加入上CAS.LCATEGORY
否則,如果@CATEGORY_LEVEL = 'M'
話,我想加入上CAS.MCATEGORY
否則,如果@CATEGORY_LEVEL = 'S'
話,我想加入上CAS.SCATEGORY
...
我怎樣才能做到這一點?
SELECT語句很長..所以我只是想改變取決於輸入參數 – 2010-05-10 07:36:45
如果加盟條件它很長,那意味着CASE會表現得更差。它有3種不同的JOIN,所以它是3種不同的SELECT – gbn 2010-05-10 07:40:54