Mysql inner join 后case when用法

SELECT
	t.id AS 'orderId',
	t.organization_id AS 'organizationId',
	t.create_time AS 'createTime',
	t.partake_num,
	t. STATUS AS 'status',
	t.type AS 'type',
	t.actual_area AS 'actualArea',
	t.area_type AS 'thirdTypeId',
	r. NAME AS 'actualAreaName',
	t.area_type_name,
	t.sign_status AS 'signStatus',
	t.area_type_level AS 'areaTypeLevel',
	t.sign_out_time AS 'signOutTime',
	t.sign_time AS 'signTime',
	t.topic,
	att.attr_name,
	att.attr_val
FROM
	t_rsv_order t
INNER JOIN t_rsv_order_attr att on
 
  CASE 
    WHEN  t.is_cycle = '0' THEN  att.order_id = t.id
    WHEN  t.is_cycle = '1' THEN  att.order_id = t.order_parent_id
   END 

AND att.service_type = 2
AND att.attr_json LIKE concat('%数字%')

LEFT JOIN t_rsv_resource r ON t.actual_area = r.id
WHERE
	t.organization_id = '6170867344908369926172328501773'
AND (
	t.create_time >= STR_TO_DATE('2021-09-02', '%Y-%m-%d')
)
AND (
	t.create_time <= STR_TO_DATE('2021-09-02 23:59:59', '%Y-%m-%d %H:%i:%s')
)
AND t.id IN ('63078179622551552021222452100030', '630778670619574272212102070000')
AND t. STATUS IN (20, 30)
AND CASE
WHEN t.is_cycle = '0' THEN
	order_parent_id IS NULL
WHEN t.is_cycle = '1' THEN
	order_parent_id IS NOT NULL
END
ORDER BY
	t.create_time DESC

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值