nu heb ik door middel van foreign key een aantal velden gekoppeld.
als ik nu in een tabel een keuze maak, had ik graag gezien dat de rest van de gekoppelde velden automatisch wordt aangevuld.
tabellen:
Users:
id
password
geleiders.naam_geleider
Geleider:
idgeleiders
naam_geleider
Hond:
idhond
naam_hond
geleiders.naam_geleider
status:
id
users.idusers
hond.naam_hond
geleiders.naam_geleider
nu wil ik dus bijvoorbeeld als ik in de tabel status de naam_hond kies uit het lijstje dat dan de naam_geleider en idusers automatisch wordt aangevuld
dank je Ward,
ik heb de tabellen juist aangepast, maar nu heb ik nog een vraagje, die JOIN kan maar voor 1 tabel?
zoals hierboven, tussen hond en geleider, maar nu wil ik tussen status en geleider en tussen status en hond ook een JOIN, maar hoe doe je dat dan?
Ja, je kunt een JOIN op uiteenlopende manieren uitvoeren over meerdere tabellen. Je kunt bovendien een query binnen een query uitvoeren, zodat de resultaten van de hoofdquery worden beperkt tot resultaten uit een subquery.
ik heb 4 tabellen
tabel users (idusers, user, password,idgeleiders)
tabel geleiders (idgeleiders, naam_geleider)
tabel hond (idhond, naam_hond, idgeleiders, groep)
tabel status (id, idusers,idgeleiders, idhond, status)
de bedoeling is dat ik gegevens uit de tabel status ga weergeven van de desbetrefende hond.
dus de naam van de hond, de naam van de geleider en de status
Kan één hond meerdere geleiders hebben? En kan omgekeerd één geleider meerdere honden hebben?
Uit tabel hond (idhond, naam_hond, idgeleiders, groep) leid ik af dat één hond één geleider heeft, anders hoort de foreign key idgeleiders niet in deze tabel.
Of wil je voor relatie tussen honden en geleiders de tabel status gebruiken?
de hond heeft maar één geleider, maar een geleider kan wel meerdere honden hebben.
de geleider logt in op de pagina en kan (als hij/zij meerdere honden heeft, een keuze maken uit de honden) dan zien wat de status van de trainingen met de bijbehorende hond is.
aan de hand van idusers haal ik dan de gegevens op die horen bij de geleider. (als deze meerdere honden heeft, zal er nog en keuze worden gemaakt uit de honden door middel van idhond)
als ik het goed zie kan ik idgeleiders weg laten uit de tabel status?
Ja, als één hond altijd één geleider heeft, kun je de status beperken tot de hond: via de hond vind je dan namelijk zijn geleider. Nadat de geleider heeft ingelogd (en dus zijn id bekend is), krijg je dan een eenvoudige JOIN tussen de tabel hond en de tabel status (met een WHERE waarin je de unieke idgeleiders gebruikt om de selectie te beperken).