sql - Query with multi tables -
i have 4 tables:
- characters
- arena_team
- arena_table_member
- arena_team_stats.
characters table has guid, name
arena_team table has arenateamid, name, type
arena_table_member table has guid(this same in characters table), arenateamid
arena_team_stats table has arenateamid, rating, wins, wins2, played
how list of arena teams character is? tried:
$result=mysql_query("select characters.guid , characters.name , arena_team.arenateamid , arena_team.name , arena_team_stats.rating , arena_team_stats.wins , arena_team_stats.wins2 , arena_team_stats.played , arena_team.type characters , arena_team_stats , arena_team characters.name '%$q%' , arena_team.arenateamid = arena_team_stats.arenateamid order arena_team_stats.rating desc") or die(mysql_error());
but returns arena teams in arena_team table.
looks you're missing join. it's easier read table aliases , formatted:
select c.guid , c.name , at.arenateamid , at.name , at.type , ats.rating , ats.wins , ats.wins2 , ats.played characters c inner join arena_team_member atm on atm.guid = c.guid inner join arena_team @ on at.arenateamid = atm.arenateamid inner join arena_team_stats ats on ats.arenateamid = at.arenateamid c.name '%$q%' order ats.rating desc
Comments
Post a Comment