Bonjour,
j'ai besoin d'aide pour finir une requête SQL "poussée" SVP.
Voici en gros mon problème :
J'ai 3 tables :
_La table 'questions' avec par exemple comme champs : 'id', 'nom'.
_La table 'reponses_possibles' avec par exemple comme champs : 'id', 'reponse'.
_La table 'reponses_choisies' avec par exemple comme champs : 'id', 'question_id' (pour faire éventuelles jointure avec table 'questions') 'reponse_possible_id' (pour faire éventuelles jointure avec table 'reponses_possibles').
_Dans ma table 'questions' j'ai 2 lignes insérées. Exemple :
'id' : 1, 'nom' : "Question 1".
'id' : 2, 'nom' : "Question 2".
_Dans ma table 'reponses_possibles' j'ai 4 lignes insérées. Exemple :
'id' : 1, 'reponse' : "Réponse 1".
'id' : 2, reponse : "Réponse 2".
'id' : 3, 'reponse' : "Réponse 3".
'id' : 4, 'reponse' : "Réponse 4".
_Dans ma table 'reponses_choisies' j'ai 4 lignes insérées. Exemple :
'id' : 1, 'question_id' : 1, 'reponse_possible_id' : 1.
'id' : 2, 'question_id' : 1, 'reponse_possible_id' : 2.
'id' : 3, 'question_id' : 1, 'reponse_possible_id' : 3.
'id' : 4, 'question_id' : 2, 'reponse_possible_id' : 3.
Ce que je souhaite faire en une seule requete SQL :
Récupérer la Question (table 'questions') qui est jointe aux Réponses choisies (table 'reponses_choisies') ayant reponse_possible_id 1, et reponse_possible_id 2, et reponse_possible_id 3.
Est-ce possible d'effectuer ce que je souhaite (récupérer la bonne ligne en une seule requete SQL qui retourne qu'une seule ligne) ?
Je pense avoir trouvée une astuce avec une requête SQL qui retourne plusieurs lignes en faisant un SELECT FROM table 'questions' avec un INNER JOIN on la table 'reponses_choisies', et avec quelques OR en condition (WHERE 'reponses_choisies.reponse_possible'_id = 1 OR 'reponses_choisies.reponse_possible_id' = 2 OR 'reponses_choisies.reponse_possible_id' = 3). Puis fait le "trie" en PHP avec un array associatif.
Mais si c'est techniquement possible d'y faire en une seule ligne, ça m’intéresse.
Merci beaucoup.