MYSQL CASE WHEN THEN END 用法
SELECT qr_cash_record.*,
CASE
WHEN cashrecord_type = 3 THEN
(SELECT product_title FROM qr_fundsupport LEFT JOIN qr_fundplan
ON fundplan_id = fundsupport_ref_fundplanid LEFT JOIN qr_product
ON product_id = fundplan_ref_productid WHERE fundsupport_id = cashrecord_ref_id )
WHEN cashrecord_type = 4 THEN
(SELECT product_title FROM qr_fundplan
LEFT JOIN qr_product
ON product_id = fundplan_ref_productid
WHERE fundplan_id = cashrecord_ref_id )
ELSE
(SELECT product_title FROM qr_touristorder
LEFT JOIN qr_product ON product_id = touristorder_ref_productid
WHERE touristorder_id = cashrecord_ref_id )
END AS product_title,
CASE
WHEN cashrecord_type = 3 THEN
(SELECT product_id FROM qr_fundsupport LEFT JOIN qr_fundplan
ON fundplan_id = fundsupport_ref_fundplanid LEFT JOIN qr_product
ON product_id = fundplan_ref_productid WHERE fundsupport_id = cashrecord_ref_id )
WHEN cashrecord_type = 4 THEN
(SELECT product_id FROM qr_fundplan
LEFT JOIN qr_product
ON product_id = fundplan_ref_productid
WHERE fundplan_id = cashrecord_ref_id )
ELSE
(SELECT product_id FROM qr_touristorder
LEFT JOIN qr_product ON product_id = touristorder_ref_productid
WHERE touristorder_id = cashrecord_ref_id )
END AS product_id,
CASE
WHEN cashrecord_type = 3 THEN
(SELECT product_type FROM qr_fundsupport LEFT JOIN qr_fundplan
ON fundplan_id = fundsupport_ref_fundplanid LEFT JOIN qr_product
ON product_id = fundplan_ref_productid WHERE fundsupport_id = cashrecord_ref_id )
WHEN cashrecord_type = 4 THEN
(SELECT product_type FROM qr_fundplan
LEFT JOIN qr_product
ON product_id = fundplan_ref_productid
WHERE fundplan_id = cashrecord_ref_id )
ELSE
(SELECT product_type FROM qr_touristorder
LEFT JOIN qr_product ON product_id = touristorder_ref_productid
WHERE touristorder_id = cashrecord_ref_id )
END AS product_type,
CASE
WHEN cashrecord_type = 3 THEN
(SELECT fundplan_ref_userid FROM qr_fundsupport LEFT JOIN qr_fundplan
ON fundplan_id = fundsupport_ref_fundplanid
WHERE fundsupport_id = cashrecord_ref_id )
WHEN cashrecord_type = 4 THEN
(SELECT fundplan_ref_userid FROM qr_fundplan
WHERE fundplan_id = cashrecord_ref_id )
ELSE
(SELECT touristorder_ref_grideorderid FROM qr_touristorder
WHERE touristorder_id = cashrecord_ref_id )
END AS ref_user_id,
CASE
WHEN cashrecord_type = 3 THEN
(SELECT auth_realname FROM qr_fundsupport LEFT JOIN qr_fundplan
ON fundplan_id = fundsupport_ref_fundplanid
LEFT JOIN qr_userauth ON auth_ref_userid = fundplan_ref_userid
WHERE fundsupport_id = cashrecord_ref_id AND auth_type=0 AND auth_limitstate=2 )
WHEN cashrecord_type = 4 THEN
(SELECT auth_realname FROM qr_fundplan
LEFT JOIN qr_userauth ON auth_ref_userid = fundplan_ref_userid
WHERE fundplan_id = cashrecord_ref_id AND auth_type=0 AND auth_limitstate=2 )
ELSE
(SELECT auth_realname FROM qr_touristorder
LEFT JOIN qr_userauth ON auth_ref_userid = touristorder_ref_grideorderid
WHERE touristorder_id = cashrecord_ref_id AND auth_type=0 AND auth_limitstate=2 )
END AS ref_user_realname
FROM qr_cash_record;
MYSQL CASE WHEN THEN END 用法的更多相关文章
- MySQL中case when的基本用法总结
MySQL中case when的基本用法总结原创Backcanhave7 最后发布于2018-12-06 15:14:15 阅读数 439 收藏展开MySQL中的case when有用两种用法,官方文 ...
- MySQL case when then 用法
下面演示一下MYSQL中的CASE WHEN THEN的用法. 一. SELECT MENU_NAME, YXBZ, case YXBZ when 'Y' then '开放' when 'N' the ...
- Mysql coalesce()函数认识和用法
Mysql coalesce()函数认识和用法 coalesce()解释:返回参数中的第一个非空表达式(从左向右): 鉴于在mysql中没有nvl()函数, 我们用coalesce()来代替 ...
- mysql中INSTR函数的用法
mysql中INSTR函数的用法 INSTR(字段名, 字符串) 这个函数返回字符串在某一个字段的内容中的位置, 没有找到字符串返回0,否则返回位置(从1开始) SELECT * FROM tblTo ...
- MySQL中INSERT的一般用法
原文链接:http://www.blogjava.net/midnightPigMan/archive/2014/12/15/421406.html MySQL中INSERT的一般用法 INSERT语 ...
- mysql 中find_in_set()和in()用法比较
mysql 中find_in_set()和in()用法比较 在mysql中in可以包括指定的数字,而find_in_set()用于特定的数据类型. find_in_set 函数使用方法 个例子来说:有 ...
- 阳性比例 mysql CASE UNION ALL
阳性比例 mysql CASE UNION ALL SELECT t.*,t.type_0/all_ FROM ( SELECT FROM_UNIXTIME(create_time,'%Y-%m-%d ...
- MYSQL DATE_FORMAT参数列表及用法
MYSQL DATE_FORMAT参数列表及用法 主要涉及用法 DATE_SUB(DATE, INTERVAL EXPR TYPE) DATE_FORMAT(DATE,FORMAT) REPLACE( ...
- MySQL基础之STRAIGHT JOIN用法简介
MySQL基础之STRAIGHT JOIN用法简介 引用mysql官方手册的说法: STRAIGHT_JOIN is similar to JOIN, except that the left tab ...
随机推荐
- Tcl与Design Compiler (三)——DC综合的流程
本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/ ,作者:IC_learner 1.基本流程概述 首先 ...
- Rsync的工作方式
Rsync的工作方式(来自网络) 1)拷贝本地文件: 当SRC和DES路径信息中不包含冒号":"分隔符时,就启用这种工作模式: [root@cmmailapp1 /]# rsync ...
- Python全栈开发第13天
#多用户登录 import getpass #引用getpass import os #引用os import configparser #引用配置文件操作的库 count = 0 count_oth ...
- Java核心编程快速学习
Java核心编程部分的基础学习内容就不一一介绍了,本文的重点是JAVA中相对复杂的一些概念,主体内容如下图所示. 反射reflect是理解Java语言工作原理的基础,Java编译器首先需要将我们编写的 ...
- Android敏感词过滤主要类
package com.tradeaider.app.utils; import com.tradeaider.app.activity.MyApplication;import java.util. ...
- android中的 Toast 和 AlertDialog
Toast 一般用来显示一些不需要用户操作的提示信息,举个栗子: public void toast(String msg) { //---创建并设置显示的内容和显示时长 Toast toast = ...
- 实现高效的GPRS驱动程序
1. 引言 用过几款GPRS模块,也从淘宝上买过多个GPRS模块,一般的都会送一个驱动程序和使用demo,但是代码质量都较低. 回头看了下几年前使用的GPRS代码,从今天的角度来看,也就是买模块赠送一 ...
- python urllib模块
1.urllib.urlopen(url[,data[,proxies]]) urllib.urlopen(url[, data[, proxies]]) :创建一个表示远程url的类文件对象,然后像 ...
- web前端概念巩固(一)
h5: 1.web语义化 Web语义化是指在进行HTML结构.表现.行为设计时,尽量使用语义化的标签,使程序代码简介明了,易于进行Web操作和网站SEO,方便团队协作的一种标准,以图实现一种" ...
- 用ElasticSearch搭建自己的搜索和分析引擎
作者:robben,腾讯高级工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. 导语:互联网产品中的检索功能随处可见.当你的项目规模是百度大搜|商搜或者微信公众号搜索这种体量的时候 ...