"mi devi" forse anche no
comunque...
- io ti ho postato le tue messe in una forma più leggibile
- devi riprendere la tua prima query (che aveva già le tre tabelle) e mettere il filtro nella JOIN anziché nella WHERE, seguendo l'esempio che ti ho postato
ma ti sto ridicendo cose che ti ho già detto...
Ecco come dici.. Ma non funziona bene. mi prende anche nickname con roundId di altri torneicodice:SELECT DISTINCT tournament_team.nickname, api_team.name,tournament_team.roundId FROM tournament_user INNER JOIN tournament_team ON tournament_user.nickname = tournament_team.nickname INNER JOIN api_team ON api_team.id = tournament_team.teamId AND isOut is NULL AND tournament_team.tournamentId =12 ORDER BY tournament_team.roundId, tournament_team.nickname
io girerei la query così
non è chiaro di quale tabella fa parte isOutcodice:SELECT DISTINCT tournament_team.nickname, api_team.name, tournament_team.roundId FROM tournament_team INNER JOIN tournament_user ON tournament_user.nickname = tournament_team.nickname AND isOut is NULL AND tournament_team.tournamentId = 12 INNER JOIN api_team ON api_team.id = tournament_team.teamId ORDER BY tournament_team.roundId, tournament_team.nickname
come fai a dire che ci sono risultati di un altro torneo se non hai tournamentId nella select?
perché non ti fai stampare anche tournamentId ?
me lo sono fatto stampare.. e i primi 5 risultati sono del tournamentId =2 . tutto il resto è corretto
il motivo l ho capito.. bisogna vedere come rivediare. facendo il join con i nickname mi prende l unione di tutti i nick delle 2 tabelle e dopo anche se metto il filtro tournamentId = 12 al motore Mysql non gli interessa. li prende lo stesso entrambi