Ciao ragazzi/e
mi servirebbe un consiglio, sono davanti a una select da un'ora e non riesco a capire l'errore io vorrei fare una select che estraesse da una tabella gmappa il record avente nel campo voti il voto più alto raggruppando però prima tutti i records per categoria; (però fra questi record devo prendere solo quelli che hanno un legame di amicizia espresso dalla tabella comprofiler_members [componente cb] tramite il campo meberid<->referenceid e siccome la user nella tabella gmappa non è l'id numerico ho messo nella join anche la tabella users).
ho abbozzato la seguente select:
$query= "select cont, categoria, nome, max(voto), descrizione
from #__gmappa AS p
right outer Join #__users AS u ON p.utente = u.username
right outer join #__comprofiler_members AS f ON u.id = f.referenceid
where f.memberid =" . $db->quote($user->id) ."
group by categoria";
riscritta anche nel seguente modo utilizzando le api di joomla (le ho trovate nella documentazione joomla):
$query
->select('u.username, p.cont, p.categoria, p.nome, p.voto, p.descrizione')
->from('#__gmappa AS p')
->join('RIGHT', '#__users AS u ON p.utente = u.username')
->join('RIGHT', '#__comprofiler_members AS f ON u.id = f.referenceid ')
->where('f.memberid='.$db->quote($user->id)
AND('accepted = 1') )
->group("categoria");
però con entrambi i codici (dovrebbero essere equivalenti) non ottengo il risultato desiderato ...potreste darmi qualche dritta sulle join? altra domanda ma quali delle due sintassi è meglio usare?? a me sembra più leggibile e modificabile la seconda voi che dite?
Ultima domanda, ma la seconda ha un nome particolare? (per trovare info più facilmente su google)
Grazie:)