sql - 如何将 WHERE 子句中的这个 CASE 语句变成多选参数?
问题描述
当我将其制作成报告时,我需要能够选择所有 3 个。我知道第 3 个选项有点傻,但客户希望能够单击所有 3 个。
AND CASE WHEN @Display IN (1) AND (POPGT.LimitedQty >= 1 OR POPDX.LimitedQty >= 1) THEN 1
WHEN @Display IN (2) AND (POPGT.NewSingleOrderQty >= 1 OR POPDX.NewSingleOrderQty >= 1) THEN 1
WHEN @Display IN (0) THEN 1 END = 1
解决方案
不要使用case
表达式。像这样的东西:
(@Display IN ('1', '*') AND (POPGT.LimitedQty >= 1 OR POPDX.LimitedQty >= 1)) OR
(@Display IN ('2', '*') AND (POPGT.NewSingleOrderQty >= 1 OR POPDX.NewSingleOrderQty >= 1)) OR
(@Display IN ('0', '*'))
推荐阅读
- javascript - JavaScript 复制一个类属性并创建一个新的相同对象
- php - 具有两个相等但未知部分的正则表达式模式
- python - 如何在莳萝中保存复杂的类对象?
- digital-signature - 有没有办法确保签名者在没有看到消息的情况下生成了有效的(消息、签名)对?
- lua - 使用 Neovim 配置 Packer
- reactjs - 如何测试 Material-UI Popover 关闭实现
- shell - Ubuntu Server 21.10 - 插入 USB 设备时如何运行 Shell 脚本
- android - 在 Android 中切换应用时保持视频通话应用运行
- css - 伪元素图像未显示在 GitHub 页面上
- python - 为自定义 GPT-NEO 模型实现 do_sampling