koppeling tabellen met zelfde namen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johan Maas

Johan Maas

06/06/2007 21:50:00
Quote Anchor link
Hieronde de QUERY

"SELECT *
FROM werk_agenda
LEFT JOIN werk_werkplek
ON werk_agenda.werkplek_id = werk_werkplek.werkplek_id
WHERE YEAR(datum) = $y AND MONTH(datum) = $m
ORDER BY datum";

In beide tabellen komen kolommen met dezelfde namen voor.
Het probleem is nu als ik bv $rij["X"]; opvraag die beide tabellen bezitten, hoe kan ik dan de query zo opbouwen dat alle kolommen apart aanspreekbaar zijn.
Ik kan natuurlijk ook zorgen dat alle kolommen uit de verschillende tabellen die ik gebruik, een unieke naam hebben.
 
PHP hulp

PHP hulp

21/05/2024 06:43:57
 
Sebastiaan Blaas

Sebastiaan Blaas

06/06/2007 21:51:00
Quote Anchor link
alias
 
Johan Maas

Johan Maas

06/06/2007 21:55:00
Quote Anchor link
Ali as ???

Hoe dan ik leer graag.
De vraag en het antwoord!
 
Joren de Wit

Joren de Wit

07/06/2007 10:59:00
Quote Anchor link
Stel:

gebruikers
------------
id
naam
datum

reserveringen
----------------
id
gebruiker_id
datum

De datum in de eerste tabel is de registratiedatum van een gebruiker, en in de tweede tabel is de reserveringsdatum (namen dus niet slim gekozen, maar daar hebben we het niet over).

Om nu beide data op te halen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT
    g.naam,
    g.datum AS registratiedatum,
    r.id,
    r.datum AS reserveringsdatum
FROM
    gebruikers AS g
LEFT JOIN
    reserveringen AS r
ON
    r.gebruiker_id = g.id
ORDER BY
    g.datum

In deze query worden verschillende aliassen gebruikt: registratie- en reserveringsdatum om die kolommen een unieke naam te geven. En g en r als afkorting voor de tabelnamen. Op die manier hoef ik niet elke keer de hele tabelnaam uit te typen.
 
Martijn Wieringa

Martijn Wieringa

07/06/2007 11:03:00
Quote Anchor link
Zowel op tabelnamen als kolomnamen kun je een 'alias' toepassen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
SELECT `t1`.`column1` AS `c1`, `t2`.`column` AS `c2`
FROM `table1` AS `t1`, `table2` AS `t2`
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.