2013-06-04 70 views
1

喜IM掙扎簡單的查詢我想innerjoin陣容S和G組表,但與條件(@ZeroOrOne參數爲0或1)如何執行,如果內else語句如果Cluase sqlserver的2008

WHERE 
    CASE WHEN IsNumeric(@ZeroOrOne) = 0 THEN 

    s.TeamId=g.Team1Id --if @ZeroOrOne value is 0 then perform this statement 

    ELSE 
    s.TeamId=g.Team2Id --if @ZeroOrOne value is 1 then perform this statement 

什麼是正確的方法我應該改變我的查詢或邏輯?請幫忙。

回答

1

試試這個。

WHERE 
    s.TeamId = CASE WHEN IsNumeric(@ZeroOrOne) = 0 THEN g.Team1Id 
    ELSE g.Team2Id END 

,或者您也可以在ON子句中使用這個

JOIN Table s 
    ON s.TeamId = CASE WHEN IsNumeric(@ZeroOrOne) = 0 THEN g.Team1Id 
    ELSE g.Team2Id END