Efter att ha frågat om Inner Join i ASP forumet och där blev påpekad om att ställa frågan här istället så ställer jag denna följd fråga här :) Dock fick jag besked om hur Inner Join funkar, samt från en liten kurs på idg webstudio, men nu undrar jag hur jag plockar fram två namn med hjälp av två olika id med hjälp av Inner Join. Du skriver helt enkelt en join för varje fält: Ok, så långt hängde jag med. Men hur plockar jag ut namnen i varibler? ähh glöm det, jag kom på det själv :)Hur plockar jag fram två namn med Inner Join?
Saken är den att i en resultat tabell så sparas en utmanares id i kollumen "challId" och motståndarens id sparas i kollumen "opponId". Nu vill jag plocka fram deras namn från användartabellen. Hur ordnar jag detta med Inner Join?
Resultat tabellen: ladder_results
Användar tabellen: tw_members
Namnen jag är ute efter sparas i "tw_members" i kollumen "playerName"
Så hur får jag ut bådas namn med hjälp av Inner Join? (eller det kanske inte ens ska vara med Inner Join?)
Ett av namnen kan jag i alla fall plocka fram genom:
<code>
sSql = "SELECT tw_members.id, tw_members.playerName, ladder_results.* FROM tw_members INNER JOIN ladder_results ON tw_members.id = ladder_results.challId WHERE tw_members.id = ladder_results.challId"
'sen in med namnet i en variabel
pName = rsUsr("playerName")
'osv
</code>
fast fanken vet om det ens är rätt uppställt :)
Hur som helst: hur får jag fram bägge namnen i samma SQL sats?
Tacksam för svar.
TotteSv: Hur plockar jag fram två namn med Inner Join?
<code>
strSQL = "SELECT ladder_results.*, m1.playerName, m2.playerName" & vbCrLf &
"FROM ladder_results LEFT JOIN" & vbCrLf &
" tw_members AS m1 ON ladder_results.challId = m1.id LEFT JOIN" & vbCrLf &
" tw_members AS m2 ON ladder_results.opponId = m2.id "
</code>Sv: Hur plockar jag fram två namn med Inner Join?
Ledsen, men jag är rätt ny på detta :)
TotteSv: Hur plockar jag fram två namn med Inner Join?
jag ändrade ditt exempel till:
<code>
strSQL = "SELECT ladder_results.*, m1.playerName AS m1name, m2.playerName AS m2name" & vbCrLf &
osv
</code>
Tusen tack för hjälpen. Alltid skoj när man kan lära sig något :)
Totte