Salve a tutti,
mi sto dannando da un paio d'ore l'anima per una query che proprio non vuole venire!
Allora, ho 3 tabelle del mio forum, quella utenti, quella dei topic aperti, e quella delle risposte.
Per semplificare sono fatte cosi:
Ora, sto cercando di fare una query per la quale ho il listing dei post del forum (facciamo esempio come qui, nella sezione mysql) e per quelli in cui c'è l'intervento dell'utente loggato ($idloggato) flaggarli in qualche modo.codice:# UTENTI idutente nick # NUOVI_TOPIC idtopic idutente titolo # RISPOSTE_POST idpost idtopic idutente testo_risposta
Il massimo sarebbe anche ottenere, dalla stessa query, l'utente che ha lasciato l'ultimo messaggio in quel determinato topic.
Ho provato con diverse JOIN ma senza riuscirci.
Questa è la prova fatta, ma non va:
C'è un modo per farlo senza massacrare il DB??Codice PHP:SELECT forum_topic.*, utenti.*
FROM forum_topic
JOIN utenti ON id = forum_topic.idutente
LEFT JOIN
(SELECT idtopic AS flag FROM forum_risposte WHERE idutente = 342823 GROUP BY idtopic) AS mioid
ON forum_topic.idtopic = mioid.flag
WHERE forum_topic.idforum = 1 ORDER BY forum_topic.idtopic
![]()
![]()
![]()
Grazie mille!

Rispondi quotando