Это MySQL, и он жалуется на инструкцию if. Может быть, кто-нибудь видит ошибку, потому что я думаю, что я смотрел на него слишком долго:синтаксис оператора mySQL IF
SELECT c.id AS id, (p.validFor * 30) AS validFor, p.validFrom as validFrom,
date(FROM_UNIXTIME(rr.timemodified)) as date,
(CASE
WHEN date(validFrom) < date(FROM_UNIXTIME(rr.timemodified)) THEN (DATEDIFF(DATE_ADD(FROM_UNIXTIME(rr.timemodified), INTERVAL p.validFor MONTH) , NOW()))
WHEN date(validFrom) > date(FROM_UNIXTIME(rr.timemodified)) THEN (DATEDIFF(DATE_ADD(validFrom, INTERVAL p.validFor MONTH) , NOW()))
END)AS daysLeft,
IF (rr.timemodified < g.timemodified, (DATEDIFF(DATE_ADD(FROM_UNIXTIME(g.timemodified), INTERVAL p.validFor MONTH) , NOW())- (validFor * 30.48))) as daysLeft
FROM mdl_readtickbox_responses rr
JOIN mdl_readtickbox r ON r.id = rr.readtickboxid
JOIN mdl_course c ON c.id = r.course
JOIN mdl_procedures p ON p.id = c.idnumber
JOIN mdl_groups_members gm ON gm.userid = rr.userid
JOIN mdl_groups g ON g.id = gm.groupid
WHERE rr.userid = '2'
AND g.courseid = r.course
AND p.status != 'obsolete'
ORDER BY p.priority, daysLeft
Спасибо :) Полностью забыл :) – Erika
вы приветствуете :)! если он решит ваш вопрос, обязательно принимайте ответ как решенный –