小工具      在线工具  汉语词典  css  js  c++  java

case when 语句

Java,mybatis 额外说明

收录于:43天前


<if test="blackOwners != null and blackOwners.size >0 ">
	AND ( CASE WHEN o.orderType = 20 AND o.ownerPartyId not in 
   <foreach item="item" index="index" collection="blackOwners" open="(" separator="," close=")">
      #{item}
   </foreach> THEN 0 
   WHEN o.orderType != 20 THEN 0 
   ELSE 1 END ) = 0 
</if>

select a.orderCloseId, a.orderCode, a.status, a.remark, o.orderType, a.operLog, a.partyId, a.owner
from orderCloseApply a inner join order o on a.orderCode = o.orderCode
查出来58671条数据

select a.orderCloseApplyId, a.orderCode, a.status, a.remark, o.orderType, a.operLog, a.ownerPartyId, a.owner
from orderCloseApply a inner join order o on a.orderCode = o.orderCode
and (CASE WHEN o.orderType = 20 AND o.ownerPartyId not in (568269285) THEN 0  
          WHEN o.orderType != 20 THEN 0
          ELSE 1 
          END ) = 0 
查出来58668条数据

select a.orderCloseApplyId, a.orderCode, a.status, a.remark, o.orderType, a.operLog, a.partyId, a.owner
from orderCloseApply a inner join order o on a.orderCode = o.orderCode 
where o.orderType = 20 AND o.partyId  in (568269285)
查出来3条数据

结论:CASE WHEN会把这两个表的交集结果的每一条数据去做匹配:
1. CASE WHEN o.orderType = 20 AND o.ownerPartyId not in (568269285) THEN 0    返回: 0=0,可以成功的查出来数据
2. WHEN o.orderType != 20 THEN 0  返回: 0=0,可以成功的查出来数据
3. ELSE 1 返回: 1=0,查不出来数据,就是上面的那三条数据【orderType = 20 AND o.ownerPartyId  in (568269285)】

. . .

相关推荐

额外说明

B.图算法:图学习之图神经网络ERNIESage、UniMP进阶模型[系列八]

图学习图神经网络算法专栏简介:主要实现图游走模型(DeepWalk、node2vec);图神经网络算法(GCN、GAT、GraphSage),部分进阶 GNN 模型(UniMP标签传播、ERNIESage)模型算法等,完成项目实战 专栏链接:图学习图神经

额外说明

【精通Spark系列】万事开头难?本篇文章让你轻松入门Spark

- 作者 :“大数据小禅” - **文章简介 **:本篇文章属于Spark系列文章,专栏将会记录从spark基础到进阶的内容,,内容涉及到Spark的入门集群搭建,核心组件,RDD,算子的使用,底层原理,SparkCore,SparkSQL,SparkS

额外说明

文竹培养

------------2022-8-25 — 由于放置半个月室内,不通风, 无光照,导致枯萎。 将文竹的枯萎的顶端,剪去; 根据植物的顶端营养,输送的方式; 这样营养不网上送, 是否它就会活过来呢? 2022-9-13: 剪去枝头时,不应该全部减掉,

额外说明

Elasticsearch 7.X 聚合查询 及 ElasticsearchRestTemplate 操作

一、创建测试索引 创建索引结构,向 ES 服务发送 PUT 请求: http://127.0.0.1:9200/jh_test { "settings": { }, "mappings": { "properties": { "na

额外说明

【Go 基础篇】Windows 开发常用 Dos 命令

介绍 在计算机开发领域,命令行工具是开发者的得力助手,能够快速、高效地完成各种任务。在Windows操作系统中,DOS(Disk Operating System)命令是一组强大的命令行工具,用于进行文件操作、目录管理、进程控制等各种操作。虽然现代开发环

额外说明

[Ext JS 4] 实战之Load Mask(加载遮罩)的显示与隐藏

前言 Load Mask(遮罩)效果,就是在页面还没有完全显示出来之前, 加上一个转装转的效果。 类似: 添加这样的效果有两个好处: 1. 在页面没完全show出来之前, 把后面的页面给遮罩起来, 防止进行一些非法的操作。 2. 如果页面show出来的时

额外说明

Spring框架学习笔记11:基于Java配置方式SSM框架西蒙购物网

文章目录 一、网站功能需求 二、网站设计思路 1、设计模式 2、网站前台 3、网站后台 4、购物流程图 三、网站运行效果 四、网站实现步骤 (一)创建数据库与表 1、创建数据库 - simonshop 2、创建用户表 - t_user 3、创建商品类别表

额外说明

解决(conn=298) errCode = 2, detailMessage = String Type should not be used in key column[aa].的多无

文章目录 1. 复现错误 2. 分析错误 3. 解决错误 我之前写过关于String Type should not be used in key column错误的文章,文章链接地址为:String Type should not be used in

额外说明

机器学习强基计划2-2:一文详解ID3、C4.5、CART决策树算法+ Python实现

目录 0 写在前面 1 什么是决策树? 2 决策树算法框架 3 常见决策树算法 3.1 ID3算法 3.2 C4.5算法 3.3 CART算法 4 Python实现三种决策树算法 4.1 数据集 4.2 获取最优属性 4.3 三种评估函数实现 4.4 可

额外说明

Linux三剑客awk

Linux三剑客awk awk是一个强大的linux命令,有强大的文本格式化的能力,好比将一些文本数据格式化成专业的excel表的样式 awk早期在Unix上实现,我们用的awk是gawk,是GUN awk的意思 awk更是是一门编程语言,支持条件判断、

ads via 小工具