Мой оператор обновления должен находиться во второй строке в регистре.Тем не менее, по умолчанию это линия Else.Есть ли проблема с синтаксисом в этой строке?
Я выполнил оператор выбора, используя те же условия, и он возвращает эту запись.
SELECT issues.issue_type, issues.priority, issues.credentials, issues.status_id
FROM engagements
LEFT OUTER JOIN issues ON issues.application_id = engagements.application_id
WHERE
engagements.id = 5699 AND
issues.status_id <> 4 AND
issues.credentials = 1 AND
issues.issue_type IN ('EAPT', 'ENPT') AND
issues.priority = 'Medium';
Issue Type | priority | credentials | status.id
EAPT | Medium | 1 | 1
Оператор обновления, который я запускаю, приведен ниже.Из записи выше, я считаю, что это должно быть на второй строчке, но это не так.
UPDATE engagements
LEFT OUTER JOIN issues ON issues.application_id =
engagements.application_id
SET engagements.engagement_score_ewc_id =
(CASE
WHEN (issues.credentials = 1 AND issues.issue_type IN ('EAPT', 'ENPT') AND issues.priority IN ('High', 'Critical') AND issues.status_id <> 4) THEN 3
WHEN (issues.credentials = 1 AND issues.issue_type IN ('EAPT', 'ENPT') AND issues.priority IN ('Medium') AND issues.status_id <> 4) THEN 2
WHEN (issues.credentials = 1 AND issues.issue_type IN ('EAPT', 'ENPT') AND issues.priority IN ('Low') AND issues.status_id <> 4) THEN 1
ELSE 3
END)
WHERE engagements.id = 5699;