zoukankan      html  css  js  c++  java
  • 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;

  • 相关阅读:
    数据量你造吗-JAVA分页
    编写高质量代码改善java程序的151个建议——[1-3]基础?亦是基础
    概率论快速学习03:概率公理补充
    概率论快速学习02:概率公理
    项目ITP(六) spring4.0 整合 Quartz 实现动态任务调度
    项目ITP(五) spring4.0 整合 Quartz 实现任务调度
    编写高质量代码改善java程序的151个建议——导航开篇
    概率论快速学习01:计数
    改善JAVA代码01:考虑静态工厂方法代替构造器
    Python快速学习10: 循环的对象及设计 (生活的规律)
  • 原文地址:https://www.cnblogs.com/morpheusliu/p/6138466.html
Copyright © 2011-2022 走看看