У меня проблема с запросом MySQL. У меня есть большой запрос, который выбирает из нескольких таблиц, и он отлично работает. Я хотел бы отредактировать одну небольшую его часть.
Это небольшая часть, которую я хочу отредактировать. Эта часть работает нормально, но я хотел бы добавить к ней еще один оператор if.
round(if(m.id in (2280659, 2300116,3612005, 5309555), m.duration / 100, m.duration) / 60,1) as "Activity time in minutes"
Я бы хотел, чтобы это было что-то вроде этого, но я не могу понять синтаксис правильно. Я пробовал пример nested if , который я нашел на inte rnet, но это дает мне синтаксическую ошибку.
round(if(m.id in (2280659, 2300116,3612005, 5309555), m.duration / 100, m.duration, if m.id in (12312323, 2323232), m.duration / 1000, m.duration)) / 60,1) as "Activity time in minutes"
Я хочу m.duartion / 100 if m.id в (2280659, 2300116,3612005, 5309555), и я хочу m.duration / 1000 если m.id в (12312323, 2323232)
Надеюсь, я достаточно ясно . Я был бы признателен, если бы кто-нибудь мог указать мне в правильном направлении, спасибо!
РЕДАКТИРОВАТЬ 1: Изменен запрос, чтобы он соответствовал количеству скобок, но все еще безуспешно.
round(if(m.id in (2280659, 2300116,3612005, 5309555), m.duration / 100, m.duration, if (m.id in (12312323, 2323232), m.duration / 1000, m.duration)) / 60,1) as "Activity time in minutes"
Сообщение об ошибке:
com. mysql .jdb c .exceptions.jdbc4.MySQLSyntaxErrorException: у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с 'if (m.id in (12312323, 2323232), m.duration / 10000, m.duration)) / 60,1) as " Тегевусе кесть на линии 3