si si così funziona, è come era all'inizio..Originariamente inviato da piero.mac
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)
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.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
solo che devo listare i prezzi per ogni oggetto:
SELECT tabellaRange.value, tabellaPrezzi.prezzo
FROM tabellaRange
LEFT JOIN tabellaPrezzi ON ( tabellaRange.value = tabellaPrezzi.quantita )
WHERE tabellaRange.idListino = '1' && tabellaPrezzi.idOggetto = '1'
ORDER BY tabellaRange.value ASC
non mi restituisce la riga NULL, me la omette proprio...
tabellaRange:
| id | value | idListino |
| 1 | 50 | 1 |
| 2 | 100 | 1 |
| 3 | 150 | 1 |
tabellaPrezzi:
| id | idOggetto | idListino | quantita | prezzo |
| 1 | 1 | 1 | 50 | 15 |
| 3 | 1 | 1 | 150 | 11 |
risultato:
| 50 | 15 |
| 150 | 11 |
invece vorrei ottenere
| 50 | 15 |
| 100 | NULL |
| 150 | 11 |
secondo me è sbagliato quel ON ( tabellaRange.value = tabellaPrezzi.quantita )
o meglio, devo trovare un modo diverso di farglielo macinare
ora come ora è anche logico che non funzioni, ma non sò dove sbattere la testa...
dovrei tradurre:
prendi tabellaRange.value, tabellaPrezzi.prezzo per ogni riga di tabellaRange ma (se c'è una corrispondenza tabellaRange.value = tabellaPrezzi.quantita) prendi il prezzo da tabellaPrezzi, se no mettimi null, dove tabellaPrezzi.idListino = '1' && tabellaPrezzi.idOggetto = '1'
in linguaggio mysql![]()

Rispondi quotando