Hoi,

Om te beginnen ik heb nog nooit met JOINS gewerkt, dus als je iets post het liefste een klein beetje uitleg bij je script.

Ik heb 2 tabellen:

tickets
ID   | USER_ID | ADMIN_ID |
1    | 1       | 2        |
2    | 8       | 2        | 
3    | 9       | 6        |
4    | 4       | 3        | 
5    | 9       | 6        |


users
ID   | USERNAME |
1    | Tom      |
2    | Bob      |
3    | Henk     |
4    | Piet     |
5    | Kees     |


Nu wil ik met een query het volgende terug krijgen (als er een WHERE staat op het id van tickets)
Query: "... WHERE id='4'";

ticket_id = 4
user_name = Piet
admin_name = Henk


Nu heb ik alleen geen idee hoe ik dit moet aanpakken.
Kan iemand me hiermee op weg helpen?
SELECT u.username
FROM users AS u
INNER JOIN tickets AS t
ON u.id = t.user_id
where t.id="4"
Wil je ook uitleggen wat je hebt gedaan?
Want ik begrijp er niets van
<?php // voor de kleurtjes
SELECT
	users.username,
	admin.username AS adminname, /* alias vereist */
	tickets.id
FROM
	tickets
/* eerst join je de users tabel voor de username */
JOIN
	users
	ON tickets.user_id = user.id /* join voorwaarde */
/* dan nog een keer de users tabel joinen voor de adminnaam */
JOIN
	users AS admin /* ook hier alias vereist anders wordt MySQL zenuwachtig */
	ON tickets.admin_id = admin.id
WHERE
	tickets.id = 4
?>

Zo duidelijker?

Ger, bedankt.
Het is gelukt en ik begrijp het.

Reageren