Ciao a tutti,
a distanza di qualche giorno (e dopo svariate "prove tecniche" conclusesi con un nulla di fatto...), torno a farmi sentire su questo problema che mi sta letteralmente facendo perdere la testa...
Distinct... group by... select annidate... le ho provate tutte ed in nessun modo riesco a tirar fuori solamente un'istanza di ciascun record in caso di più foto associate ad esso...
Questa volta, per evitare di far perdere la testa anche a voi (ed anche per dimostrarvi in qualche modo che non è mia intenzione limitarmi solamente a "chiedere aiuto" ma anche e sopratutto per imparare), ho pensato di riportarvi una select molto semplificata, più che altro per permettermi di "capire meglio" la struttura ed il funzionamento (quando funzionerà ovviamente...
)
La SELECT di prova su cui sto attualmente lavorando è la seguente:
codice:
SELECT a.IDofferta, a.IDoffertatxt, a.comune AS offcomune, a.descriz AS offdescriz, a.provincia AS offprovincia, a.localita AS offlocalita, MAX(b.filename_p) AS Image, a.dataorapubblicazione FROM offerte a LEFT JOIN foto_immobili b ON b.IDofferta = a.IDoffertatxt GROUP BY a.IDofferta, a.comune, a.descriz, a.provincia, a.localita, b.filename_p, a.IDoffertatxt, a.dataorapubblicazione
ORDER BY a.dataorapubblicazione DESC
Come vedete, questo è un test di impiego dell'istruzione GROUP BY, che in se funziona ma che continua a mostrarmi lo stesso record tante volte quante sono le immagini ad essa associate, per cui nessun passo avanti...
Ho provato anche con DISTINCT ma niente da fare... per mia praticità non ho conservato tutte le prove che ho fatto, sarebbero state decine e decine di pagine, per cui non ho la possibilità di mostrarvi tutti i tentativi fatti (tra cui anche DISTINCT), spero che comunque potrete lo stesso aiutarmi a capire come scrivere correttamente questa benedetta query per elencare il record "offerta" solamente una volta, anche se ad esso sono associate 10 immagini...
Vi ringrazio molto per l'aiuto che potrete darmi, resto in paziente attesa di vostri consigli e suggerimenti...
Ciauz!
t.