In the below query I want to add an AND condition inside the CASE’s WHEN and before THEN is that possible?
for example WHEN ‘r’ AND table1.name=”jones” THEN ‘very high’
SELECT table1.id, table1.name,
CASE table1.event
WHEN 'r' THEN 'very high'
WHEN 't' 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
You can rewrite your statement like this to accomplish what you want
notice that you need to remove
table1.eventafter theCASEstatement.documentation here