phpMyAdmin
 sql >> Database >  >> Database Tools >> phpMyAdmin

Caso quando allora, ma con condizione AND all'interno quando e prima di allora

Puoi riscrivere la tua dichiarazione in questo modo per ottenere ciò che desideri

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

nota che devi rimuovere table1.event dopo il CASE dichiarazione.documentazione qui