Join middels 3 tabellen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

R R

R R

06/01/2010 22:33:00
Quote Anchor link
Ik heb de volgende tabellen
Landen
Landid
land
Plaatsen
plaatsid
plaats
landid
Stadions
stadionid
stadion
plaatsid

Nu lukt het mij wel om via een join (zie onder) een tabel te tonen met
stadionid - stadion - plaats

Wat ik graag wil is
stadionid - stadion - plaats - land

Is dit mogelijk met de tabellenopzet die ik heb gemaakt? En zo ja, hoe?


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<table><td colspan=3>
<b>Stadions</b><br>


<?php
    $sql
= "SELECT * FROM stadions left outer join plaatsen on stadions.plaatsid = plaatsen.plaatsid  order by stadion";
    $result=mysqli_query($con,$sql);
    while ($qry = mysqli_fetch_assoc($result))
    {

    extract($qry);

    echo "<tr><td>$stadionid <td>$stadion <td>$plaats ";
    }

    ?>


</table>
 
PHP hulp

PHP hulp

29/03/2024 10:34:04
 
Gerben G

Gerben G

06/01/2010 22:59:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT s.stadionid,s.stadion,p.plaats,l.land FROM stadions AS as LEFT JOIN  plaats AS p ON p.id = s.plaatsid LEFT JOIN landen AS l ON l.id = p.landid


Volgens mij moet dat met deze query kunnen.
 
John D

John D

06/01/2010 23:22:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
SELECT s.stadionid
           ,s.stadion
           ,p.plaats
           ,l.land
FROM stadions s
       , plaats p
       , landen l
WHERE p.id = s.plaatsid
    AND l.id  = s.plaatsid
Gewijzigd op 01/01/1970 01:00:00 door John D
 
R R

R R

07/01/2010 21:05:00
Quote Anchor link
Donhertog en John bedankt voor het meedenken.

Met de join optie van Donhertog is het me nog niet gelukt. Met een paar kleine aanpassingen met die van John wel.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT s.stadionid,s.stadion,p.plaats,l.land
FROM stadions s, plaatsen p, landen l
WHERE p.plaatsid = s.plaatsid and p.landid= l.landid


Wat is in deze, en in het algemeen, nu het verschil tussen de JOIN en de Where optie?
 
John D

John D

07/01/2010 21:10:00
Quote Anchor link
Er is geen praktisch of technisch verschil in de joins. Er is slechts een verschil in opschrijven, de notatie, en de ene heet explicit join en de ander heet implicit join. Deze nieuwere (ANSI) methode inner, left, right enzovoort wordt tegenwoordig meer gebruikt in leermethoden en wordt dan ook meer en meer toegepast. http://en.wikipedia.org/wiki/Join_%28SQL%29
Ik ben van de oldskool en gebruik altijd de implicit join notation.
Gewijzigd op 01/01/1970 01:00:00 door John D
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.