Avatar billede dmy Nybegynder
10. december 2008 - 09:53 Der er 4 kommentarer

Hjælp til Inner join med en mellem tabel

Endelig har jeg fået min inner join til at virke, men har nu en mellem tabel som også skal med i min inner join.. Har absolut ingen idé om hvor den skal ind og hvordan jeg skriver koden? hjælp...

Mine tabeller som er i brug nu.

stilarter
stilartID
stilart

hold
holdID
beskrivelse
fk_stilarter_id
fk_niveau_id
fk_underv_id

niveauer
niveauID
niveautrin


To ekstra tabeller hvor den ene er en mellem tabel.

Underviser
undervID
navn
adresse
tlf
billede

underv_hold
uhID
fk_uv_id
fk_h_id

Min kode.

<?php

$hold = mysql_query ("SELECT stilart, holdID, beskrivelse, niveautrin FROM stilarter
       
  INNER JOIN hold ON stilarter.stilartID=hold.fk_stilarter_id
  INNER JOIN niveauer ON niveauer.niveauID = hold.fk_niveau_id
           
           
  WHERE stilarter.stilartID = $_GET[stilartID] ")

  or die (mysql_error());
  while($row = mysql_fetch_assoc($hold))
    {
    echo                                                            '<div id="hold_siden"><span class="hold">Stilart: </span>'.$row['stilart'].'<br />
    <span class="hold">Hold nr: </span>'.$row['holdID'].'<br />
    <span class="hold">Niveau: </span>'.$row['niveautrin'].'<br /><br />
    <span class="hold">Beskrivelse: </span><br />'.$row['beskrivelse'].'</div>';
   
}?>
Avatar billede dmy Nybegynder
10. december 2008 - 10:08 #1
ups på tabel hold er den nederste fk ikke på det er en fejl
Avatar billede jakobdo Ekspert
10. december 2008 - 10:46 #2
Du skal bare smide flere inner joins på.
Avatar billede dmy Nybegynder
11. december 2008 - 08:24 #3
Ja men jeg har jo ikke lavet de andre med en mellemtabel, så er lidt i tvivl om hvordan en ny innerjoin skal skrives med en mellemtabel?
Avatar billede jakobdo Ekspert
11. december 2008 - 08:38 #4
Test noget ala:

$hold = mysql_query ("
SELECT
    s.stilart,
    h.holdID,
    h.beskrivelse,
    n.niveautrin,
    u.navn
FROM
    stilarter s
INNER JOIN
    hold h
ON
    s.stilartID = h.fk_stilarter_id
INNER JOIN
    niveauer n
ON
    n.niveauID = h.fk_niveau_id
INNER JOIN
    underv_hold uh
ON
    uh.fk_h_id = h.holdID
INNER JOIN
    underviser u
ON
    u.undervID = uh.fk_uv_id
WHERE
    s.stilartID = $_GET[stilartID] ")
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester