tabellaRange:
| id | value | idListino |
| 1 | 50 | 1 |
| 2 | 100 | 1 |
| 3 | 150 | 1 |

tabellaPrezzi:
| id | idOggetto | idListino | quantita | prezzo |
| 1 | 1 | 1 | 50 | 15 |
| 2 | 1 | 1 | 100 | 13 |
| 3 | 1 | 1 | 150 | 11 |
La query e' sulla via giusta ...

dalla tabella Range devi estrarre "value" dove idListino = 1
dalla tabella Prezzi devi estrarre "prezzo" dove quantita = Range.value (dei record trovati con Range.idListino = 1)

codice:
SELECT tabellaRange.value, tabellaPrezzi.prezzo
FROM tabellaRange
LEFT JOIN tabellaPrezzi ON ( tabellaRange.value = tabellaPrezzi.quantita )
WHERE tabellaRange.idListino = '1'
ORDER BY tabellaRange.quantita ASC
non vedo perche' non debba funzionare. Ti rende tutti i record di tabellaRange che hanno idListino = 1, mentre se manca l'associazione richiesta in ON la tabellaPrezzi rende NULL.