INNER JOIN 2x in query
Een berichten table met 2 verwijzings colums die refereren naar dezelfde user table. De output met 1 verwijzing krijg ik voor elkaar met INNER JOIN. (SELECT * FROM users INNER JOIN berichten ON berichten.ID_auteur=users.ID) Maar nu wil ik graag dat beide ID's 'vervangen' worden door de werkelijke naam uit de user table.
Here goes:
table berichten
Bericht - ID_Auteur - ID_Poster
Blabla - 1 - 2
BliBli - 2 - 3
table users
ID - UserName
1 - Jan
2 - Piet
3 - Klaas
Query reslutaat moet nu worden
Bericht - ID_Auteur - ID_Poster
Blabla - Jan - Piet
BliBli - Piet - Klaas
SELECT Bericht, ID_Auteur, ID_Poster
FROM users
INNER JOIN berichten ON berichten.ID_auteur=users.ID AND
berichten.ID_poster=users.ID
Resultaat is helaas nul rows.
Kan ook gewoon zijn datk er niet genoeg vanaf weet :$!
Gewijzigd op 01/01/1970 01:00:00 door DeleteAll DeletelAll
in de ene tabel heb je een idnummer, maar dat wil hij dus eigenlijk 'vervangen' door de username die bij het id nummer hoort
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$dbres = mysql_query("SELECT ID_auteur,ID_poster FROM 'berichten'");
while($namen = mysql_fetch_object($dbres)) {
$id = $namen->ID_auteur;
}
$dbresselect = mysql_query("SELECT * FROM 'users' WHERE 'id' = $id");
while($namenselect = mysql_fetch_object($dbresselect)) {
$posternaam = $namenselect->name;
?>
$dbres = mysql_query("SELECT ID_auteur,ID_poster FROM 'berichten'");
while($namen = mysql_fetch_object($dbres)) {
$id = $namen->ID_auteur;
}
$dbresselect = mysql_query("SELECT * FROM 'users' WHERE 'id' = $id");
while($namenselect = mysql_fetch_object($dbresselect)) {
$posternaam = $namenselect->name;
?>
Misschien een omslachtige manier, maar ben niet zo bedreven in MySQL. Dusja, ik probeer alleen maar te helpen...
Gewijzigd op 01/01/1970 01:00:00 door DeleteAll DeletelAll
Mssn kan Boris er nog een keertje subtitles bij geven? ;-)
UPDATE tablename SET Kolom=waarde join 2detablename on tablename.waarde=2detablename.waarde
dus volgens mij krijg je dan zoiets als dit bijv.
UPDATE berichten SET ID_Auteur=UserName JOIN users ON berichten.ID_Auteur=users.ID
ik hoop dat dit je weer wat op weg geholpen heeft, het kan fout zijn want het is de eerste keer dat ik een JOIN gebruik en ik heb het niet getest.
Was ondertussen wel een mooi stukje over JOIN tegengekomen. Misschien intressant voor anderen:
http://www.devshed.com/c/a/MySQL/Understanding-SQL-Joins/
Dank aan deze topic, ik los zoiets altijd op in meerde query's zoals Aymeric DL. maar zo kan het dus ook, en VEEL sneller!