table1 has the columns:
id name value event
1 name1 0.5 f
2 name2 1.9 f
3 name3 2.6 f
4 name4 0.2 f
5 name5 0 r
6 name6 text r
7 name7 text2 t
8 name8 5 t
....
999 name999 4.7 f
table2 has the columns
id risk value
1 very low 0
1 low 0.5
2 medium 1.5
3 high 2.5
4 very high 3
result:
1 name5 very high
2 name6 very high
3 name999 high
4 name3 high
5 name2 medium
6 name1 low
7 name7 very low
8 name8 very low
the query so far is (without the event of r and t to give very high and very low is):
SELECT table1.id
, table1.event
, table2.risk
FROM table1
JOIN table2
ON table2.value = ( SELECT MAX(table2.value)
FROM table2
WHERE table2.value <= table1.value
)
ORDER BY table1.value DESC
1 Answer