SQL:WHERE子句中的条件传递参数变量

时间:2013-05-01 09:32:46

标签: sql variables parameter-passing where-clause

我从分配给'PPNo'的下拉列表listitem值传递参数。我想要选择的sql表中的列包含Yes / No值。在WHERE子句中,可以从传递参数值为“PPNo”的列中选择“否”,并在传递参数值为“PPYes”的情况下选择“是”。

即我可以将以下内容编写为sql where statement吗?

where @PPvariable = 'PPNo' then PupilPremium='No'

我这样做的原因是因为下拉列表包含几个是/否值的元素,当我尝试分配是和否并选择一个元素时,选择分配了是或否的顶部元素而不是项目我选择了。

即从下面的列表中选择非EAL会导致选择非PP。

PP
Non-PP <----this dropdown list item is selected
FSM
Non-FSM
EAL
Non-EAL <----this dropdown list item is clicked

1 个答案:

答案 0 :(得分:2)

使用CASE:

CASE WHEN condition THEN result
  [WHEN ...]
  [ELSE result]
END

CASE WHEN VAR =1 THEN TRUE 
     WHEN VAR =2 THEN FALSE
END

您也可以使用CASE作为表达式的右侧。

WHERE A = (CASE ...)

- DMG