复杂SQL案例:用户授权渠道查询
2024-09-07 14:03:58
供参考:
SELECT
r.course_id 课程id,
r.user_id 用户ID,
u.user_full_name 姓名,
u.province_name 省名,
u.city_name 城市,
c.card_password 兑换码,
o.order_id 订单,
o.real_fee 实付金额,
o.order_type 订单类型,
o.pay_type 支付方式,
o.device_type 设备类型,
o.order_status 订单状态,
(case when c.user_id is null and o.user_id is null then '有权限无来源' when o.order_status='已退款' then '有权限无来源' when c.card_password is not null then '兑换码' when o.user_id is not null then '订单' else '' end) 状态检查
from
(
select distinct a.course_id,a.user_id,b.sku_id goods_id,a.order_id
from tetralogy.user_rights_course a left join tetralogy.goods_sku_course b on b.course_id=a.course_id
where a.current_status='1'
) r
left join
(
select
card_unlock_user_id user_id,
card_password,
goods_id
from tetralogy.card_info
where 1=1
and card_is_unlock=0
and card_is_valid=1
) c on r.user_id=c.user_id and r.goods_id=c.goods_id
left join
(
select
user_id,id order_id,goods_ids goods_id,device_type,real_fee,
(case order_type when 0 then '课程' when 1 then '解锁码' else order_type end ) order_type,
(case pay_type when 0 then '微信' when 1 then '支付宝' when 2 then '苹果' when 3 then '对公转账' else order_type end ) pay_type,
(case order_status when 0 then '待支付' when 1 then '已支付' when 2 then '退款中' when 3 then '已退款' when 9 then '已关闭' else order_status end ) order_status
from tetralogy.app_order
where order_status=1
) o on r.order_id=o.order_id
left join tetralogy.user_info u on u.id=r.user_id
where 1=1
最新文章
- css样式增加&;改变颜色
- Android异步消息处理机制
- Linux系统性能统计工具Sar和实时系统性能监控脚本
- mysql密码相关
- yum安装指定(特定)版本(旧版本)软件包的方法
- javascript 容错
- Visual C++ 打印编程技术-编程基础-映射模式
- MVC 5显示、创建、编辑、删除等功能实练
- tp5实现邮件发送
- [FJWC2018]全排列
- 转 - spring security oauth2 password授权模式
- php 高效日志记录扩展seaslog 的使用
- php composer 使用 以及 psr0和psr4的真正区别
- pytest.4.Fixture
- 第一篇Docker博文
- python 数组或列表维度增加
- jar包的启动和停止脚本
- HDU 2602 Bone Collector(经典01背包问题)
- springcloud21---Config-bus实现配置自动刷新
- BZOJ 2427 软件安装(强连通分量+树形背包)