SQL SELECT pproblem_position AS name SUMCASE WHEN pproblem_status=8 THEN 1 ELSE 0 END AS doneProblem SUMCASE WHEN pproblem_status = 3 4 5 6 7 THEN 1 ELSE 0 END AS pass SUMCASE
这个错误是由于SQL语句中的一个操作数包含了多个列导致的。在这个查询中,问题出在以下这一行:
SUM(CASE WHEN p.problem_status = (3, 4, 5, 6, 7) THEN 1 ELSE 0 END) AS pass,
在这里,你使用了一个括号来包含多个值(3, 4, 5, 6, 7),导致了错误。在这种情况下,你应该使用IN关键字来代替。
正确的查询语句应该是:
SUM(CASE WHEN p.problem_status IN (3, 4, 5, 6, 7) THEN 1 ELSE 0 END) AS pass,
通过将括号中的多个值替换为IN关键字,你就可以解决这个错误。
原文地址: http://www.cveoy.top/t/topic/icLo 著作权归作者所有。请勿转载和采集!