Topicnaam is wat misleidend. Ik denk dat dat de oplossing moet zijn maar kom er niet uit. Graag een duwtje in de goede richting.

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.
Snap niets van wat je bedoeld...
Kan ook gewoon zijn datk er niet genoeg vanaf weet :$!
in de ene tabel heb je een idnummer, maar dat wil hij dus eigenlijk 'vervangen' door de username die bij het id nummer hoort
<?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;
?>

Misschien een omslachtige manier, maar ben niet zo bedreven in MySQL. Dusja, ik probeer alleen maar te helpen...
Thx voor je reply Aymeric DL, maar daar snap ik dan weer geen bal van.

Mssn kan Boris er nog een keertje subtitles bij geven? ;-)

sorry hoor maar het kan aan mij liggen wil je nou waarden in je database veranderen of wil je ze er uit halen?? als je ze wilt veranderen zou ik eerst een aan een update beginnen dus

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.
@ Jeroen: je hebt geen JOIN nodig; het kan ook zo:

SELECT
    b.bericht,
    u1.username AS auteur,
    u2.username AS poster
FROM berichten AS b, users AS u1, users AS u2
WHERE b.ID_auteur = u1.ID
AND b.ID_poster = u2.ID
@jeroen,
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!

Reageren