在 WHERE 子句中使用 CASE

2023-12-31

我的查询的简化版本

SELECT *
FROM logs 
WHERE pw='correct' AND CASE WHEN id<800 THEN success=1 ELSE END 
AND YEAR(timestamp)=2011 

这是行不通的。我想做的是添加success=1仅适用于具有id<800,否则忽略此检查。

我该怎么写这个?谢谢!

编辑:澄清一下,这就是表格的样子

|id  | pw      | success |
--------------------------
|700 | correct | 1       |
|710 | correct | 1       |
|900 | correct | NULL    |
|999 | correct | 0       |

我正在尝试返回所有行、列pw不容忽视。


您不必使用 CASE...WHEN,您可以使用 OR 条件,如下所示:

WHERE
  pw='correct'
  AND (id>=800 OR success=1) 
  AND YEAR(timestamp)=2011

这意味着如果 id

这种情况不太常见,但是您仍然可以使用 CASE WHEN,如下所示:

WHERE
  pw='correct'
  AND CASE WHEN id<800 THEN success=1 ELSE TRUE END 
  AND YEAR(timestamp)=2011

这意味着:返回success=1(可以是 TRUE 或 FALSE)如果 id

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 WHERE 子句中使用 CASE 的相关文章

  • 如何使用 Alter Table 在 Access 中创建小数字段?

    我想以编程方式在 MS Access 表中创建一个新列 我尝试过很多排列ALTER TABLE MyTable Add MyField DECIMAL 9 4 NULL 并得到 字段定义中的语法错误 我可以轻松创建一个数字字段Double类
  • JbdcTemplate - 带有动态 SQL 查询的PreparedStatements

    I know jdbcTemplate可以用来创建PreparedStatements如果你这样设置 i e private JdbcTemplate jdbcTemplate String sqlQuery Select from tab
  • 如何处理PDO异常[重复]

    这个问题在这里已经有答案了 我正在尝试与PDOphp 上的类 但我在找到处理错误的正确方法时遇到了一些麻烦 我编写了以下代码
  • Symfony/Doctrine 重新排列数据库列

    当我使用doctrine schema update命令行生成表时 Doctrine 或Symfony 似乎想要添加一个命令来重新排列我的列 将键放在它出现的前面 我想知道是否 更希望在哪里 我可以禁用环境的这个 功能 所以当我去生成我的表
  • 法语和西班牙语的特殊字符可以保存在 varchar 中吗?

    法语和西班牙语中有普通英语中不使用的特殊字符 重音元音等 varchar 是否支持这些字符 或者我需要一个 nvarchar 吗 注 我愿意NOT希望讨论我是否应该使用 nvarchar 还是 varchar 您在谈论什么 SQL 实现 我
  • 如何在oracle中获取表作为输出参数

    我正在尝试将 Oracle 过程调用的 out 参数强制转换为对象 它不起作用 因为 据我了解 我需要定义一个映射 它告诉方法如何转换它 如果地图为空或未正确填充 则它默认为 STRUCT 类型的对象 在我的情况下这是错误的 我已经构建了一
  • VIEW for 表结合 UNION ALL 的 MySQL 性能

    假设我有 2 张桌子MySQL create table persons id bigint unsigned not null auto increment first name varchar 64 surname varchar 64
  • MySQL 将表的校验和存储在另一个表中

    语境 我们有包含大量表的大型数据库 他们中的大多数 99 都使用innodb 我们希望有一个日常流程来监视哪个表已被修改 当他们使用 innodb 的值时Update time from SHOW table STATUS from inf
  • 关于 Cassandra 与 MySQL 的一些建议

    几天前我在这里问了一个问题 得到了一些非常好的答案 我正在考虑做一个带有个人资料 个人简介等的facebook风格的网站 并询问我是否应该使用mysql 答案是使用Cassandra 因为好多了 我只是问这是每个人都会建议的 只是我对mys
  • Solr 增量导入不起作用

    我使用的是solr 4 2 请注意 完全导入有效 但增量导入却无效 增量导入不会给出任何错误 但不会获取任何更改 这是数据配置文件
  • 使用多个 WHERE 子句更新 Codeigniter 中的批次

    我查看了 CI 用户指南来了解如何处理update batch 并且它似乎只接受一个索引来匹配要更新的行 但在我的例子中 我需要指定两个索引 例如lang and id page我一起用作索引 这样的lang en id page 115是
  • jDBI中如何进行内查询?

    我怎样才能在 jDBI 中执行这样的事情 SqlQuery select id from foo where name in
  • MySQL如何从多个表中获取数据

    我正在寻找 php MySQL jquery 的帮助 我有2张桌子 table1表 1 有 4 列 id 标题 desc thumb img tabel2表 2 有 3 列 id 表 id img 我只想将 2 个表与 get QS 的值进
  • 如何更新 MySQL 数据库中的两列?

    这不起作用 UPDATE customers SET firstname John AND lastname Smith WHERE id 1 用逗号分隔值 AND是一个逻辑运算符 它的位置是WHERE and ON条款 UPDATE cu
  • 当php脚本通过ajax运行时显示进度条

    我有一个通过 ajax 向服务器提交值的表单
  • ActiveRecord 查询,按关联排序,最后一个 has_many

    我试图列出所有Users by the created at最近创建的关联记录 通讯 列 到目前为止我所拥有的 User includes communications order communications created at IS
  • MySqlConnectionStringBuilder - 使用证书连接

    我正在尝试连接到 Google Cloud Sql 这是一个 MySql 解决方案 我能够使用 MySql Workbench 进行连接 我如何使用 C 连接MySqlConnectionStringBuilder 我找不到提供这三个证书的
  • 如何获取所有mysql元组结果并转换为json

    我能够从表中获取单个数据 但是当我试图获取表上的所有数据时 我只得到一行 cnn execute sql rows cnn fetchall column t 0 for t in cnn description for row in ro
  • SQLite 中的累积求和值

    我正在尝试在 SQLite 中执行值的累积和 我最初只需要对一列求和并获得代码 SELECT t MyColumn SELECT Sum r KeyColumn1 FROM MyTable as r WHERE r Date lt t Da
  • Postgresql:SERIAL 在约束 INSERT 失败时递增

    有一个像这样的简单表结构 CREATE TABLE test id INT PRIMARY KEY sid SERIAL 我注意到如果我尝试插入一行但它未通过约束测试 即主键约束 SERIAL计数器无论如何都会增加 所以下一次成功插入 si

随机推荐

  • 我的应用程序中的 ic_launcher 图标错误

    我正在开发一个应用程序Honeycomb并遇到了这个非常奇怪的问题 我更改了应用程序图标 ic launcher 在每一个drawable文件夹并确保它在清单中正确 但我有一个标准 settings 启动器中的图标 在应用程序本身中是正确的
  • SVG 圆中 dasharray 属性的奇怪行为

    我正在尝试创建 SVG 圆的无限动画循环 我想创建 12 个相等的块 并将它们分开一些间隙 为了计算我使用的圆片的价值k系数见下表 所以我做了 0 25782 160 我的圆的直径 我得到 41 2512 它应该是我的棋子的值 之后我创建了
  • 获取正在运行的进程的维度

    我正在尝试抓取应用程序中特定 x y 位置的屏幕截图 有没有办法在 Process 对象中获取正在运行的应用程序 然后获取它的尺寸 就像是 Process processlist Process GetProcesses foreach P
  • 验证错误:值无效

    我的 p selectOneMenu 有问题 无论我做什么 我都无法让 JSF 调用 JPA 实体上的 setter JSF 验证失败并显示以下消息 形式 位置 验证错误 值无效 我在同一类型的其他几个类 即连接表类 上进行了此工作 但我一
  • 无法使用 Espresso 将文本添加到 webview 文本字段

    我正在尝试将文本添加到 Esprsso 中的文本字段 在 Web 视图内 但收到此错误 引起原因 java lang RuntimeException 评估错误评估 状态 13 值 message 无法设置选择结束 hasMessage 真
  • Java 中的动态绑定==后期绑定吗?

    在不同的来源中 我读到了有关该主题的不同内容 例如维基百科说 后期绑定经常与动态调度混淆 但两者之间存在显着差异 但几行之后 在 Java 编程中 流行使用术语 后期绑定 作为动态分派的同义词 具体来说 这是指与虚拟方法一起使用的 Java
  • 部分选择排序与合并排序查找“数组中最大的 k”

    我想知道我的思路是否正确 我正在准备面试 作为一名大学生 我遇到的问题之一是找到数组中最大的 K 个数字 我的第一个想法是只使用部分选择排序 例如 从第一个元素扫描数组 并为看到的最低元素及其索引保留两个变量 并与数组末尾的该索引交换 并继
  • 如何批量加载从其他来源生成的自定义 Avro 数据?

    Cloud Spanner 文档说 Spanner 可以导出 导入 Avro 格式 此路径是否也可用于批量摄取从其他来源生成的 Avro 数据 该文档似乎表明它只能导入同样由 Spanner 生成的 Avro 数据 我运行了一个快速导出作业
  • 当 MPMovieControlStyle = MPMovieControlStyleNone 时如何触摸/单击 MPMoviePlayerController 视图

    在我的一个应用程序中 我不想显示任何视频控制器 但我需要接触媒体播放器视图 我需要在触摸电影播放器 时执行一些其他操作 我怎样才能实现它 请帮忙 提前致谢 您可以随时附上UITapGestureRecognizer查看并处理水龙头 UITa
  • 如何在 PySpark 中读取 Avro 文件

    我正在使用 python 编写 Spark 作业 但是 我需要读取一大堆 avro 文件 This https github com apache spark blob master examples src main python avr
  • Firebase 托管 MIME 类型

    有没有人找到一种方法来设置使用 Firebase 托管托管文件时在 Content Type 标头中返回的 mime 类型 文档说他们支持规则文件中的某些标头 但不支持内容类型 无论如何我都将其绑定 但由于错误 hosting header
  • 将范围传递给 AngularJS 上的服务

    我对 AngularJS 还很陌生 我想将范围传递给服务 这样我就可以根据scope value 执行标签搜索 div div div div
  • 扩展和集群 JPA

    我正在 jboss7 上构建一个常规 Java EE 应用程序 该应用程序将在数据层中使用 JPA 我想让这个应用程序随着负载的增加而扩展 虽然如何扩展 Web 层非常清楚 创建更多机器并将它们放在负载均衡器后面 但扩展数据层却不太清楚 我
  • 识别一般保护故障 (x86) 上的故障地址

    我正在尝试为 x86 上的一般保护错误 GP 13 编写 ISR 我无法从 INTEL 文档中找出如何找出导致异常的错误地址 我知道对于页面错误异常 GP 14 cr2 寄存器保存错误地址 任何帮助表示赞赏 我在这里所做的所有参考资料均来自
  • 客户端和服务器需要使用相同的端口进行连接吗?

    我有一个使用java的服务器客户端程序 我尝试创建一个ServerSocket有端口和客户端Socket具有不同的端口 并且它们无法相互连接 客户端抛出ConnectException 当我将 Client 上的套接字更改为与 Server
  • PHP 中的重定向/返回检查

    我有一个用 PHP 运行的网站 并且有一个页面 例如 confirm php 我只想允许登陆的用户确认 php 来自我指定的页面 例如 register php 我可以知道是否可以实现这一点 问候 安迪 你不能依赖HTTP 引用因为用户可以
  • 如何检测 Xamarin 表单 TabbedPage 中是否触摸了选项卡

    如何检测 Xamarin 表单 TabbedPage 中是否触摸了选项卡 这与我想出如何检测的页面更改检测不同 原因如下 我正在尝试解决一个相当丑陋的选项卡式页面溢出用户界面 标签栏右侧显示的丑陋的滚动条 每当有 gt 5 个选项卡时 因此
  • Apps 脚本 - 将 JSON 正确导出到 Google Sheet

    我对 Apps Script Javascript 还很初学者 我有一些使用 API 导出的 JSON 数据 以下是我这样做时得到的结果 console log jsonData 我试图 将此 JSON 数据转换为 CSV 将数据放入活动电
  • 杀死 Mac OSX 端口 80 上未知的自重启服务器

    我有一台服务器在端口 80 上运行 但我不知道它是什么或它来自哪里 当我跑步时 sudo lsof i 80 grep LISTEN I get httpd 80 root 5u IPv6 0x91f5a9de62859cfd 0t0 TC
  • 在 WHERE 子句中使用 CASE

    我的查询的简化版本 SELECT FROM logs WHERE pw correct AND CASE WHEN id lt 800 THEN success 1 ELSE END AND YEAR timestamp 2011 这是行不