Yuut
Legacy Member
Ik zit al een tijdje met een probleem waar ik niet meteen uit raak dus via deze weg zou ik graag eens horen wat jullie er op te zeggen hebben.
Alvast bedankt voor de moeite!
Database opbouw:
Mysql-db bevat volgende kolommen:
kids (kidid, kidname, ..)
camp (campid, campname, campdate, ..)
campkid (campid, kidid, paid, ..)
Deze laatste is dus de 'verbinding' tussen kids & camps, deze tabel houdt bij welk kid object in welk camp object meedoet.
Het is mogelijk dat kid in een aantal camps zit en uiteraard bevat camp meerdere kids.
Doel:
Een parameter (het id) wordt mee gegeven.
Elk kid-object (de data uit kids dus) uit het camp met "id=parameter" wordt gereturned.
Probleem:
Ik dacht eerst aan een subquery, maar dit gaat niet, want:
de subquery returned meer dan 1 regel, namelijk elke regel waar campid = parameter
(1 ter voorbeeld)
Ook met een Join geprobeerd maar kreeg ik elk kid gereturned..
Ik zit al een tijdje te zoeken naar een oplossing maar zonder resultaat, ik heb het vroeger nochtans gebruikt maar herinner me niet goed hoe. Mocht iemand me een duwtje kunnen geven .. hartelijk bedankt.
Alvast bedankt voor de moeite!
Database opbouw:
Mysql-db bevat volgende kolommen:
kids (kidid, kidname, ..)
camp (campid, campname, campdate, ..)
campkid (campid, kidid, paid, ..)
Deze laatste is dus de 'verbinding' tussen kids & camps, deze tabel houdt bij welk kid object in welk camp object meedoet.
Het is mogelijk dat kid in een aantal camps zit en uiteraard bevat camp meerdere kids.
Doel:
Een parameter (het id) wordt mee gegeven.
Elk kid-object (de data uit kids dus) uit het camp met "id=parameter" wordt gereturned.
Probleem:
Ik dacht eerst aan een subquery, maar dit gaat niet, want:
de subquery returned meer dan 1 regel, namelijk elke regel waar campid = parameter
Code:
SELECT kidname FROM kids WHERE kidID
IN (SELECT kidID FROM campkid WHERE campID = 1)
Ook met een Join geprobeerd maar kreeg ik elk kid gereturned..
Code:
SELECT kids.kidid, kids.kidname FROM kids
INNER JOIN camp ON campkid.campID = 1
Ik zit al een tijdje te zoeken naar een oplossing maar zonder resultaat, ik heb het vroeger nochtans gebruikt maar herinner me niet goed hoe. Mocht iemand me een duwtje kunnen geven .. hartelijk bedankt.
Als je Engelstalige benamingen gebruikt, zorg er dan eens voor dat die correct zijn -> payed?.