sql语法 - 根据条件, 生成额外一个新字段 CASE WHEN ELSE END AS CASEWHENss.appNum0THEN1ELSE0ENDASbackApplyResult如果 ss.appNum假设是某个子查询或表别名 ss 中的字段大于 0则返回字符串 ‘1’否则返回字符串 ‘0’结果列命名为 backApplyResult这通常用于前端展示或业务逻辑判断例如‘1’ 表示“已申请”‘0’ 表示“未申请”假设有订单表和申请记录表你想知道每个订单是否被用户申请过退款SELECTo.order_id,CASEWHENss.appNum0THEN1ELSE0ENDASbackApplyResultFROMorders oLEFTJOIN(SELECTorder_id,COUNT(*)ASappNumFROMrefund_applicationsGROUPBYorder_id)ssONo.order_idss.order_id;结果可能为order_idbackApplyResult1001‘1’1002‘0’解析:顺序 先子查询()里面的.group by 和 聚合函数配合 形成 left join 右侧表 取名ss执行左链接 left join … on … 生成一个新表CASE WHEN ss.appNum 0 THEN ‘1’ ELSE ‘0’ END AS backApplyResult