我有这个疑问在MySQL:与MYSQL SELECT IF语句和
SELECT col1, col2, coletc, IF(a.status_working == 'normal', a.status_working == 'NN' AND a.status_working == 'overtime', a.status_working == 'OT') as status_working
我的整个查询:
HIDDEN for security reasons.
MYSQL返回我一个错误。我需要制作三个条件,如果status_working == '加班'然后写入输出OT,如果status_working = '正常'然后写入输出NN,如果status_working == 'overtime_s'然后写输出OTS
我不太擅长mysql,所以有人可以帮我吗?
谢谢。
if语句就像'IF(条件,真实结果,错误结果)'在你的榜样,你有3个条件'a.status_working ==“'normal'' a.status_working =='NN'和a.status_working =='overtime''和'a.status_working =='OT''你可能会更好用case语句https://dev.mysql.com/doc/refman /5.7/en/control-flow-functions.html像... nvm某人刚刚发布了如何做到这一点。 –
您的整个查询都是错误的。您正在使用'group by a.id',但是您在select子句中选择了没有聚合函数的其他列。请阅读'group by'的一些教程,并使您当前的查询工作。那么只有你可以考虑添加'case'。祝一切顺利! – Utsav