【发布时间】:2015-06-30 12:33:24
【问题描述】:
我的表结构如下
counter1|counter1_status|counter2|counter2_status|counter3|counter3_status|valid_counter
-----------------------------------------------------------------------------------------
5 0 6 1 3 1 XXXX
我想要一个更新查询将 valid_counter 更新为 6 + 3 = 9 由于counter1_status = 0,所以不应该添加counter1
尝试了以下查询,但它给出了错误。
更新 counter_table SET 有效联系人 = SUM((CASE WHEN counter1_status=1 THEN counter1 ELSE 0 END) + (CASE WHEN counter2_status=1 THEN counter2 ELSE 0 END) + (CASE WHEN counter3_status=1 THEN counter3 ELSE 0 END))我可以使用 SELECT 查询得到总和而没有任何错误,但更新查询失败。
【问题讨论】:
-
它会给你什么错误?
-
#1111 - 组函数的使用无效
-
见规范化。任何不建议标准化的答案都只是在浪费您的时间。
标签: mysql