该问题来自社区帖: https://bbs.csdn.net/topics/618448341.为符合问答规范, 该问题经过ChatGPT优化
<html><head><title>优化问题</title></head><body>
<html><head><title>优化问题</title></head><body>
以下是需要优化的问题:
SELECT '五合一水果罐头' AS name, '罐头加工' AS type,
CASE
WHEN sum(safe_additive) > (condition...)
THEN '合格' ELSE '不合格'
END AS quality
FROM t_table
WHERE additive_type= '一类';
上面能够判断到产品是 合格 还是 不合格,但是我还想要根据 合格 和 不合格 增加一个字段 储存后续处理,例如:
SELECT '五合一水果罐头' AS name, '罐头加工' AS type,
(CASE
WHEN sum(safe_additive) > (condition...)
THEN '合格' ELSE '不合格'
END AS quality),
(CASE
WHEN sum(safe_additive) > (condition...)
THEN '入库' ELSE '销毁'
END AS process),
FROM t_table
WHERE additive_type= '一类';
但是这里有个问题: condition.. 是一条非常长的 sql, 这样复制粘贴 两倍长度看着很夸张,有没有方法下面得case when 可以根据上面quality 来判断生成 process 呢? 或者其它方法?
</body></html>