4 berichten aan het bekijken - 1 tot 4 (van in totaal 4)
  • Q:
    Inactief
    Anoniem

    [MySQL] Join op 2 velden met dezelfde naam

    Ik heb 2 tabellen.
    In tabel 1 staan de velden user_id en username.
    In tabel 2 staan de velden fromuser_id en touser_id.
    fromuser_id en touser_id uit tabel 2 verwijzen naar user_id in tabel 1.

    Nu vraag ik me af of het mogelijk is om in 1 MySQL-query een SELECT-query op tabel 2 uit te voeren waarbij de username van beide user_id’s worden opgehaald.

    Zoiets:
    [code:1:5b4d4b2e9c]
    SELECT
    tabel1.username AS fromusername,
    tabel1.username AS tousername
    FROM tabel2
    LEFT JOIN tabel1
    ON tabel2.fromuser_id = tabel1.user_id
    AND tabel1.touser_id = tabel1.user_id
    [/code:1:5b4d4b2e9c]

    Zoals het hierboven staat werkt het dus niet, maar geeft wellicht een idee wat ik bedoel.

    Iemand een suggestie?

    Bijdrager
    klaus

    doe eens zonder join.
    Dus select from A,B where A.id = B.id and A.id2 = B.id (pseudo)

    Inactief
    Anoniem
    ”klaus”

    doe eens zonder join.
    Dus select from A,B where A.id = B.id and A.id2 = B.id (pseudo)

    [code:1:3c8e11f24c]
    SELECT
    tabel1.username
    FROM tabel2, tabel1
    WHERE tabel2.fromuser_id = tabel1.user_id
    OR tabel2.touser_id = tabel1.user_id
    [/code:1:3c8e11f24c]

    In tabel 2 heb ik nu 1 record. Bovenstaande query levert 2 rijen open. Hoe weet ik nu welke username de ‘from username’ en welke de ‘to username’ is?

    Inactief
    Anoniem

    Opgelost. Alias meegeven aan table reference.

    [code:1:9ca5423401]
    SELECT
    t1.username AS tousername,
    t2.username AS fromusername
    FROM tabel2
    LEFT JOIN tabel1 AS t1
    ON tabel2.touser_id = t1.user_id
    LEFT JOIN tabel1 AS t2
    ON tabel2.fromuser_id = t2.user_id
    [/code:1:9ca5423401]

4 berichten aan het bekijken - 1 tot 4 (van in totaal 4)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.