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

Case when then, aber mit UND-Bedingung innerhalb when und before then

Sie können Ihre Aussage so umschreiben, um das zu erreichen, was Sie wollen

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

Beachten Sie, dass Sie table1.event entfernen müssen nach dem CASE Anweisung.Dokumentation hier