phpMyAdmin
 sql >> Base de Dados >  >> Database Tools >> phpMyAdmin

Caso quando então, mas com condição AND dentro de quando e antes disso


Você pode reescrever sua declaração assim para realizar o que deseja
SELECT table1.id, table1.name,
   CASE 
     WHEN table1.event = 'r' AND table1.name = 'jones' THEN 'very high'
     WHEN table1.event = 't' AND table1.name = 'smith' THEN 'very low'
     ELSE (SELECT table2.risk FROM table2 WHERE table2.value <= table1.value
           ORDER BY table2.value DESC LIMIT 1)
   END AS risk
FROM table1
ORDER BY FIELD( table1.event, 'r', 'f', 't' ), table1.value DESC

observe que você precisa remover table1.event após o CASE declaração.documentação aqui