2014-09-11 19 views
0

我有一個太大的查詢,只使用了SELECT,我需要使用條件子句WHERE對其進行過濾。 事情是這樣的:在有條件的T-SQL中進行SELECT

if (mycondition) 

    set @strwhere='conditionalexpression_1' 
else 

    set @strwhere='conditionalexpression_2' 

..然後我想在WHERE使用@strwhere,像這樣:

SELECT col1, col2, col3 ............ 
from tablex where @strwhere 

是否有辦法做到這一點?我試過了,但是......沒什麼效果!

+0

你想使用動態SQL嗎? – 2014-09-11 03:33:18

+0

有可能只使用動態WHERE? – Joel 2014-09-11 03:34:48

+0

@parameters不會像那樣工作;但你使用的是PHP或C#,你可以在那裏做替換 - 或者你必須使用動態SQL(具有SQL注入的風險考慮) – 2014-09-11 03:40:31

回答