MySQL Database - Join mogelijk?
K
30/08/2007 20:28:00Goedenavond allen,
ik heb de volgende tabellen in een database:
table vragen
----------------
vraag_id
antwoord_1
competentie1_id
antwoord_2
competentie2_id
antwoord_3
competentie3_id
table competenties
--------------------
competentie_id
competentie_naam
Is het nu mogelijk een query te doen op deze tables waarbij ik alle vragen met hun antwoorden terugkrijg en daarbij de naam van de competentie die bij ieder antwoord hoort (aan de hand van het competentie_id ?
Hopelijk is mijn vraag dudelijk en kan iemand me helpen!
Bedankt,
//k
ik heb de volgende tabellen in een database:
table vragen
----------------
vraag_id
antwoord_1
competentie1_id
antwoord_2
competentie2_id
antwoord_3
competentie3_id
table competenties
--------------------
competentie_id
competentie_naam
Is het nu mogelijk een query te doen op deze tables waarbij ik alle vragen met hun antwoorden terugkrijg en daarbij de naam van de competentie die bij ieder antwoord hoort (aan de hand van het competentie_id ?
Hopelijk is mijn vraag dudelijk en kan iemand me helpen!
Bedankt,
//k
PHP hulp
22/11/2024 12:14:32Martijn B
30/08/2007 20:37:00Je structuur klopt niet helemaal. Je hebt een tabel met vragen maar per record heb je 3 vragen en daaraan 3 competentie namen.
Om terug te komen op je vraag:
Ik heb niet zo van de JOIN,s dus dit kan nog best wel eens verkeerd zijn.
Om terug te komen op je vraag:
Code (php)
1
2
3
4
2
3
4
SELECT *
FROM vragen
LEFT JOIN competenties
ON (competentie_id IN(competentie1_id,competentie2_id, competentie3_id))
FROM vragen
LEFT JOIN competenties
ON (competentie_id IN(competentie1_id,competentie2_id, competentie3_id))
Ik heb niet zo van de JOIN,s dus dit kan nog best wel eens verkeerd zijn.
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
K
30/08/2007 22:51:00Hey Martijn,
Dank voor je antwoord!
Het zit zo:
een vraag bestaat uit 3 antwoordmogelijkheden (multiple choice ) en ieder van die antwoorden ivertegenwoordigd een competentie.....en die competenties staan dus in een andere tabel....
jouw code doet wel iets, maar ik krijg in mijn resultaat nog niet van ieder antwoord de bijbehorende competentie_naam te zien....
//k
Dank voor je antwoord!
Het zit zo:
een vraag bestaat uit 3 antwoordmogelijkheden (multiple choice ) en ieder van die antwoorden ivertegenwoordigd een competentie.....en die competenties staan dus in een andere tabel....
jouw code doet wel iets, maar ik krijg in mijn resultaat nog niet van ieder antwoord de bijbehorende competentie_naam te zien....
//k
Jan Koehoorn
30/08/2007 22:57:00Frank -
30/08/2007 23:52:00Het datamodel is niet goed, ga eerst normaliseren (zie de tutorails). Dit voorkomt een hoop problemen en maakt de queries een stuk eenvoudiger.
K
31/08/2007 11:29:00ik besef nu dat de tabel moet worden:
table vraag
----------------
vraag_id
antwoord
competencie_id
en dan kan ik hem makkelijker linken aan de competentie_tabel
En Jan, dank voor je meedenken, maar in dit geval is een vraagtekst niet nodig...de vraag is namelijk altijd hetzelfde en mensen meoten steeeds uit 4 verschillende antwoorden kiezen!
Bedankt voor jullie hulp!
table vraag
----------------
vraag_id
antwoord
competencie_id
en dan kan ik hem makkelijker linken aan de competentie_tabel
En Jan, dank voor je meedenken, maar in dit geval is een vraagtekst niet nodig...de vraag is namelijk altijd hetzelfde en mensen meoten steeeds uit 4 verschillende antwoorden kiezen!
Bedankt voor jullie hulp!