【问题标题】:SQL: Conditional Passed Parameter variable within WHERE ClauseSQL:WHERE 子句中的条件传递参数变量
【发布时间】:2013-04-25 07:27:00
【问题描述】:

我正在从分配为“PPNo”的下拉列表列表项值中传递一个参数。我要选择的 sql 表中的列包含是/否值。在 WHERE 子句中,可以从传递的参数值为“PPNo”的列中选择“否”,在传递的参数值为“PPYes”的列中选择“是”。

ie 我可以将以下内容写成 sql where 语句吗?

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

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

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

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

【问题讨论】:

    标签: sql variables parameter-passing where-clause


    【解决方案1】:

    用例:

    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

    【讨论】:

    • 非常感谢。你答案的第二部分就是我要找的。​​span>
    猜你喜欢
    • 2018-10-21
    • 2010-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 1970-01-01
    • 2017-09-08
    相关资源
    最近更新 更多