Beste mensen,
Hierbij een vraagstuk over een JOIN tussen twee tabellen. Met de search heb ik niet veel kunnen vinden, omdat ik niet weet welke zoekwoorden ik met betrekking tot deze kwestie het beste kan gebruiken.
De linkertabel (GEBOUW_OBJECT) bevat woningen. De rechtertabel (FOTO) bevat tot maximaal 3 foto's van de woning. Door dit vaste aantal foto's heb ik in de tabel GEBOUW_OBJECT drie kolommen gemaakt, FOTO_id, FOTO2_id en FOTO3_id.
Een (logische) optie zou zijn om in de tabel FOTO een vreemde sleutel GEBOUW_OBJECT_id op te nemen. Dit is echter een hele grote klus, aangezien het een bestaande database betreft die in een behoorlijk grote site is geworteld. Bovendien zou je dan (volgens mij) niet meer weten welke foto welke is (met andere woorden, welke foto zou foto 1 zijn, welke foto zou foto 2 zijn, enz).
Daarom kies ik voor een minder logisch alternatief: met behulp van een JOIN alledrie de url's uit de tabel FOTO verkrijgen. Een query met meerdere JOINs naar dezelfde tabel geeft so wie so al een foutmelding, en de volgende query werkt (zoals verwacht) ook niet:
Bij bovenstaande query krijg ik als url, url2 en url3 dezelfde waarde terug (die van url). Had ook niet anders verwacht hoor, maar goed.
Iemand een suggestie hoe ik bovenstaande kwestie werkend kan krijgen? Bij voorbaat dank
Hierbij een vraagstuk over een JOIN tussen twee tabellen. Met de search heb ik niet veel kunnen vinden, omdat ik niet weet welke zoekwoorden ik met betrekking tot deze kwestie het beste kan gebruiken.
De linkertabel (GEBOUW_OBJECT) bevat woningen. De rechtertabel (FOTO) bevat tot maximaal 3 foto's van de woning. Door dit vaste aantal foto's heb ik in de tabel GEBOUW_OBJECT drie kolommen gemaakt, FOTO_id, FOTO2_id en FOTO3_id.
Een (logische) optie zou zijn om in de tabel FOTO een vreemde sleutel GEBOUW_OBJECT_id op te nemen. Dit is echter een hele grote klus, aangezien het een bestaande database betreft die in een behoorlijk grote site is geworteld. Bovendien zou je dan (volgens mij) niet meer weten welke foto welke is (met andere woorden, welke foto zou foto 1 zijn, welke foto zou foto 2 zijn, enz).
Daarom kies ik voor een minder logisch alternatief: met behulp van een JOIN alledrie de url's uit de tabel FOTO verkrijgen. Een query met meerdere JOINs naar dezelfde tabel geeft so wie so al een foutmelding, en de volgende query werkt (zoals verwacht) ook niet:
code:
1
2
3
4
5
| SELECT FOTO.url, FOTO.url AS url2, FOTO.url AS url3 FROM GEBOUW_OBJECT LEFT JOIN FOTO ON GEBOUW_OBJECT.FOTO_id = FOTO.id OR GEBOUW_OBJECT.FOTO2_id = FOTO.id OR GEBOUW_OBJECT.FOTO3_id = FOTO.id |
Bij bovenstaande query krijg ik als url, url2 en url3 dezelfde waarde terug (die van url). Had ook niet anders verwacht hoor, maar goed.
Iemand een suggestie hoe ik bovenstaande kwestie werkend kan krijgen? Bij voorbaat dank