Beste nieuwsgroep,
Ik stuit op een probleem. In een MySQL-database sla ik in 2 tabellen de
informatie van een quiz op.
Tabel 'quiz_vraag':
+----------+-----------------------+-------------+
| vraag_id | vraag | antwoord_id |
+----------+-----------------------+-------------+
| 1 | Hoe heet deze jongen? | 1 |
+----------+-----------------------+-------------+
Tabel 'quiz_antwoord':
+-------------+----------+-----------+
| antwoord_id | vraag_id | antwoord |
+-------------+----------+-----------+
| 1 | 1 | Maarten |
| 2 | 1 | Sam |
| 3 | 1 | Tim |
+-------------+----------+-----------+
In dit geval is 'Maarten' het antwoord, zie de waarde in 'antwoord_id'
in de tabel 'quiz_vraag'.
Nu wil ik met een query alle gegevens hebben waar het vraag_id gelijk is
aan 1. Hieronder versta ik:
- de vraag
- het antwoord_id
- de antwoorden
Ik dacht dit als volgt te kunnen doen:
SELECT
v.vraag AS vraag,
a.antwoord_id AS antwoordID,
a.antwoord AS antwoordTekst,
v.antwoord_id AS correctAntwoord
FROM
quiz_vraag v,
quiz_antwoord a
INNER JOIN
quiz_antwoord
ON
v.vraag_id = a.vraag_id
WHERE
v.vraag_id = 1
Eigenlijk verwacht ik dus het volgende resultaat:
+-----------------------+------------+---------------+-----------------+
| vraag | antwoordID | antwoordTekst | correctAntwoord |
+-----------------------+------------+---------------+-----------------+
| Hoe heet deze jongen? | 1 | Maarten | 1 |
| Hoe heet deze jongen? | 2 | Sam | 1 |
| Hoe heet deze jongen? | 3 | Tim | 1 |
+-----------------------+------------+---------------+-----------------+
Maar in plaats van 3 resultaten krijg ik maar liefst 18 resultaten
terug, namelijk 6 maal bovenstaande. Ik post het resulaat toch maar even
ter verduidelijking:
+-----------------------+------------+---------------+-----------------+
| vraag | antwoordID | antwoordTekst | correctAntwoord |
+-----------------------+------------+---------------+-----------------+
| Hoe heet deze jongen? | 1 | Maarten | 1 |
| Hoe heet deze jongen? | 2 | Sam | 1 |
| Hoe heet deze jongen? | 3 | Tim | 1 |
| Hoe heet deze jongen? | 1 | Maarten | 1 |
| Hoe heet deze jongen? | 2 | Sam | 1 |
| Hoe heet deze jongen? | 3 | Tim | 1 |
| Hoe heet deze jongen? | 1 | Maarten | 1 |
| Hoe heet deze jongen? | 2 | Sam | 1 |
| Hoe heet deze jongen? | 3 | Tim | 1 |
| Hoe heet deze jongen? | 1 | Maarten | 1 |
| Hoe heet deze jongen? | 2 | Sam | 1 |
| Hoe heet deze jongen? | 3 | Tim | 1 |
| Hoe heet deze jongen? | 1 | Maarten | 1 |
| Hoe heet deze jongen? | 2 | Sam | 1 |
| Hoe heet deze jongen? | 3 | Tim | 1 |
| Hoe heet deze jongen? | 1 | Maarten | 1 |
| Hoe heet deze jongen? | 2 | Sam | 1 |
| Hoe heet deze jongen? | 3 | Tim | 1 |
+-----------------------+------------+---------------+-----------------+
Kan iemand me helpen met het opstellen van mijn query zodat ik 3
resultaten krijg in plaats van 18?
Alvast heel erg bedankt.
--
Cheers, Maarten Wierda
"Teenage angst has paid off well, now I'm bored and old"

Likes:
![[MySQL] Hulp bij JOIN-query](https://www.webhostingtalk.nl/images/WHT_rd/misc/dT.png)
Quote