Ik weet niet echt een correcte titel te bedenken, maar ik zal mijn probleem omschrijven. In mijn database heb ik 2 tabellen, persoonsgegevens en adresgegevens. Aan elkaar gekoppeld via de id's.
Nu wil ik alle personen selecteren, met bijbehorend adres, geen probleem, een simpele join lost dat op. Maar in mijn tabel adresgegevens, zit een kolom "correspondentie", die 0 of 1 is.
Nu wil ik dat hij alle personen weergeeft, met bij ieder persoon het adres waarbij correspondentie op "1" staat (als die tenminste in de tabel staat), en anders gewoon het adres waar "0" staat bij correspondentie.
Dus mijn query moet niet zomaar het adres van een persoon weergeven, maar er zit een rangorde in. Als er een adres bestaat met correspondentie "1", moet die weergegeven worden, anders moet die met correspondentie "0" weergegeven worden.
De query die ik tot nu toe heb is:
Maar ik weet dus niet hoe ik dat laatste stuk moet implementeren. Heb wat geprobeerd met WHERE's, maar dat lukt niet helemaal.
Nu wil ik alle personen selecteren, met bijbehorend adres, geen probleem, een simpele join lost dat op. Maar in mijn tabel adresgegevens, zit een kolom "correspondentie", die 0 of 1 is.
Nu wil ik dat hij alle personen weergeeft, met bij ieder persoon het adres waarbij correspondentie op "1" staat (als die tenminste in de tabel staat), en anders gewoon het adres waar "0" staat bij correspondentie.
Dus mijn query moet niet zomaar het adres van een persoon weergeven, maar er zit een rangorde in. Als er een adres bestaat met correspondentie "1", moet die weergegeven worden, anders moet die met correspondentie "0" weergegeven worden.
De query die ik tot nu toe heb is:
code:
1
| SELECT * FROM persoonsgegevens RIGHT JOIN adresgegevens ON persoonsgegevens.ID = adresgegevens.ID |
Maar ik weet dus niet hoe ik dat laatste stuk moet implementeren. Heb wat geprobeerd met WHERE's, maar dat lukt niet helemaal.
tjah..