我只使用SELECT
进行大查询,我需要使用条件子句WHERE
对其进行过滤。
像这样:
if (mycondition)
set @strwhere='conditionalexpression_1'
else
set @strwhere='conditionalexpression_2'
..然后我想在@strwhere
中使用WHERE
,如下所示:
SELECT col1, col2, col3 ............
from tablex where @strwhere
有什么办法吗?我试过但......没有什么工作正常!
答案 0 :(得分:1)
这样做,首先构建完整查询并执行。
SET@SQLQuery='SELECT col1, col2, col3 from tablex where '
If (mycondition)
set @SQLQuery=@SQLQuery + 'conditionalexpression_1'
else
set @SQLQuery=@SQLQuery + 'conditionalexpression_2'
EXECUTE(@SQLQuery)