Aiuto su query per raggruppare dei risultati

Ciao a tutti, spero che qualcuno abbia la pazienza di aiutarmi perchè mi sono proprio bloccato.. :-\

Sto facendo una pseudo-gallery per un forum smf-machine. Si tratta di un forum di grafica 3d quindi questa gallery ha lo scopo di mettere in risalto i thread delle persone che allegano ai messaggi i propri lavori.

La sequenza di immagini (perchè di questo si tratta) è visualizzata al di sopra di tutti i forum, le immagini sono 6 e vengono selezionate da due forum distinti, 3 da un forum e 3 da un altro forum, faccio due query identiche che prelevano prima 3 img da un forum poi le altre 3 dall'altro forum..poi le metto insieme.

Ho una tabella contenente gli allegati dei messaggi, fate attenzione agli ultimi 3/4 records (DESC):

E una tabella con i messaggi, al solito gli ultimi 3/4 records (DESC):

Vorrei selezionare le immagini allegate ai messaggi e mostrarle nella gallery ma ci sono delle eccezioni:

1_L'immagine mostrata deve essere sempre la più recente.

2_L'immagine mostrata deve essere sempre postata dall'utente che ha iniziato il topic.

3_Se almeno due degli ultimi 3 topic sono stati iniziati dallo stesso utente deve essere considerato solamente l'ultimo topic aperto e l'ultima immagine allegata dell'utente che ha iniziato la discussione.

La query che ho impostato è questa:

SELECT posterName, MAX(atc.ID_MSG), atc.filename, msg.ID_MSG, msg.ID_TOPIC
FROM (smf_messages AS msg JOIN smf_topics AS tps ON msg.ID_TOPIC = tps.ID_TOPIC)
INNER JOIN smf_attachments AS atc ON atc.ID_MSG = msg.ID_MSG
WHERE msg.ID_MEMBER = tps.ID_MEMBER_STARTED
AND msg.ID_BOARD = "5"
GROUP BY msg.ID_TOPIC
ORDER BY msg.ID_TOPIC DESC
LIMIT 3

Sopra avete visto quali sono i records della tabella, io dovrei avere 3 records come segue:

User: Lex84 , immagine allegata: carbon.jpg

User: gurugugnola ,  immagine allegata: 1.jpg

User: Icer ,  immagine allegata: beduin.jpg

Lex84 è l'utente con più immagini allegate ad un topic, quindi i records dovrebbero essere raggruppati per prelevare solo la sua ultima immagine allegata, carbon.jpg appunto

Invece il risultato che ho è questo:

Spero di essere stato abbastanza chiaro e che qualcuno abbia un po' di tempo da dedicarmi, sono mesi che :dhò: dietro a sta query senza nessun risultato  :cry:

grazie 1000

inviato 7 anni fa
Lex84
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda