mysql case用法 在sql 进行分支处理
2023-02-18 16:47:45 时间
需求:
两张表,线上课程表 course 表和线下表 classes 表。还有一张订单表。订单表中有一个字段platform 表示课程类型:0 表示线下, 1表示线上。需要关联查询相关订单信息。
问题: 如果分开查询,会导致排序的话会很麻烦,所以还是希望在sql 语句中处理。
解决:使用 sql 中的 case 来解决。
SELECT
a.id as orderId,
case a.platform when 0 then b.name when 1 then c.name end as name,
case a.platform when 0 then b.title when 1 then null end as title
FROM
order AS a
LEFT JOIN
classes AS b ON a.cid = b.id
LEFT JOIN
course AS c ON a.cid = c.id
order by a.created_at desc
相关文章
- 简单几行PHP代码 搞定Slave数据库的连接平均分布
- MySQL主从(Master-Slave)同步快速部署
- 部署 Keepalived 实现 MySQL 双主高可用架构
- MySQL 双主 Master to Master 架构部署方法
- 一起来学redis-数据库属性
- 数据库持久连接
- Android破解心得——记学习七少月安卓大型安全公开课
- 【数据库原理与运用|MySQL数据库】MySQL存储函数和触发器
- Oracle 19c RAC 自动应用RU补丁简明版
- ABAP之opensql 的case..when用法
- Java JDBC和数据库连接池
- MySQL-简介
- 动态SQL
- NoSQL数据库分类
- NoSQL数据库理论基础
- 非关系型数据库
- Redis 数据库简介
- MySQL统计信息更新小结
- MySQL 视图与管理
- MySQL 表类型和存储引擎