You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在含IF()函数的SQL查询中添加新AND条件(影响双表达式属性)

修改后的SQL查询(整合新增AND条件)

嘿,我已经把你需要的新AND条件加到IF()函数的判断逻辑里了,下面是调整后的完整查询片段:

select 
  #{booking_variable}.travel_id as operator_id, 
  round(sum(#{ticket_variable}.customer_commission), 2) as commission, 
  IF(
    (#{booking_variable}.is_online = #{AdminType::YES} AND #{booking_variable}.is_ts_payment = #{PaymentType::YES} AND #{your_target_condition})
    , round(sum(#{ticket_variable}.customer_commission) * 0.8, 2)
    , round(sum(#{ticket_variable}.customer_commission) * 0.9, 2)
  ) as adjusted_commission
-- 后续的FROM/JOIN/WHERE等子句可以继续在这里补充

关键调整说明:

  • 我把新的条件用AND直接串联到了IF()的原有判断条件中,这样这个新条件会同时影响两个分支的触发逻辑:只有当所有原有条件 + 新条件都满足时,才会执行第一个表达式;只要有任一条件不满足,就会走第二个表达式。
  • 你只需要把#{your_target_condition}替换成你实际需要的具体条件即可,比如#{booking_variable}.status = 'CONFIRMED'或者#{ticket_variable}.quantity > 0这类业务判断。
  • 特意保留了原有条件的括号包裹,确保整个判断逻辑的优先级正确,避免出现意外的逻辑错误。

内容的提问来源于stack exchange,提问作者Niyanta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:09:01