11. december 2008 - 09:58Der er
7 kommentarer og 1 løsning
Left join spørgsmål
Hejsa!
Jeg har længe gået og tænkt over, hvordan det nu lige er "LEFT JOIN" fungerer.
Så vidt jeg ved, så kan man sammeligne 2 tabeller, og hive en fælles info ud - eller noget i den stil..
Det jeg har tænkt mig, er at hive et brugernavn ud fra en tabel, og sammenligne det med et brugernavn fra en anden tabel, og til slut, hive et navn ud fra nr. 2 tabel.
*** Første tabel *** id brugernavn .. en masse andet ..
*** Nummer 2 tabel *** id brugernavn fornavn efternavn .. en masse andet ..
Jeg skal så, som sagt, bruge brugernavnet fra første tabel, til at kunne hive de informationer ud, som nummer 2 tabel har om det brugernavn. Ex. skal jeg bruge Fornavn og Efternavn fra nummer 2 tabel.. - Håber i forstår =)
SELECT Tabel_1.Id, Tabel_2.Brugernavn, Tabel_2.Fornavn, Tabel_2.Efternavn FROM Tabel_1 LEFT OUTER JOIN Tabel_2 ON Tabel_1.Id = Tabel_2.Id AND Tabel_1.Brugernavn = Tabel_2.Brugernavn;
Dette vil give dig alle informationerne fra Tabel_1, ligegyldigt om der findes et match i Tabel_2. Hvis du har følgende tabeller, vil udtrækket være som nederst.
Mit sql ser således ud: <?php $sql = mysql_query("SELECT tbl_blogs.username, tbl_blogs.content, tbl_community.forname, tbl_community.lastname FROM tbl_blogs LEFT OUTER JOIN tbl_community ON tbl_blogs.username = tbl_community.username") or die("Fejl: " . mysql_error()); while($row = mysql_fetch_assoc($sql)){ ?>
Og det jeg udskriver ser således ud: <?php print $row['forname'] ." ". $row['lastname'];?> skriver...</div> <div id="proTxt"><?=print $row['content'];?></div>
.. Den kan godt skrive fornavn og efternavn ud, men ikke content.. hvorfor?
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.