phpMyAdmin
 sql >> Base de données >  >> Database Tools >> phpMyAdmin

Cas quand alors, mais avec la condition ET à l'intérieur quand et avant alors

Vous pouvez réécrire votre déclaration comme celle-ci pour accomplir ce que vous voulez

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

notez que vous devez supprimer table1.event après le CASE déclaration.documentation ici