Ces derniers jours, j'ai essayé de trouver une réponse à ce problème. Bien que je n'aie pas trouvé de réponse, ce site continue d'apparaître dans mes résultats de recherche et j'ai donc décidé de l'essayer. Les options de formatage pour les messages sont géniales, BTW.
J'ai un tableau comme :
user_id | form_id | question_id | data_label | data_value
1 1 1 firstName Joe
1 1 2 lastName Smith
1 1 3 phone 5554443333
2 1 1 firstName Sally
2 1 2 lastName Jones
2 1 3 phone 3334445555
que je veux devenir :
user_id | firstName | lastName | phone
1 Joe Smith 5554443333
2 Sally Jones 3334445555
Je peux trouver un exemple de la manière de procéder. Je ne les comprends pas très bien, mais ils existent. Mon problème unique se pose lorsque cette table unique contient des données saisies à partir d'une variété de formulaires avec n'importe quel nombre possible de champs. Ainsi, je pourrais avoir une table avec :
user_id | form_id | question_id | data_label | data_value
1 1 1 firstName Joe
1 1 2 lastName Smith
1 1 3 phone 5554443333
2 1 1 firstName Sally
2 1 2 lastName Jones
2 1 3 phone 3334445555
3 2 1 fav_color red
3 2 2 fav_animal eagle
4 2 1 fav_color blue
4 2 2 fav_animal dog
Je vais ensuite passer le form_id en paramètre, rassembler tous les enregistrements de ce formulaire groupés par utilisateurs (ils devraient tous avoir les mêmes étiquettes avec des valeurs différentes), puis afficher ces données sous la forme suivante :
...lorsque form_id = 1, le rapport se présente comme suit :
user_id | firstName | lastName | phone
1 Joe Smith 5554443333
2 Sally Jones 3334445555
...lorsque form_id = 2, le rapport se présente comme suit :
user_id | fav_color | fav_animal
3 red eagle
4 blue dog
Je suis novice en matière de programmation et de procédures SQL avancées et je ne parviens pas à comprendre comment procéder par moi-même. J'ai besoin que la requête puisse gérer n'importe quel nombre/type de champs sans avoir à saisir les noms exacts des champs possibles dans la requête pour chaque formulaire. Vous remarquerez que la première requête ci-dessus comporte quatre champs alors que la seconde en comporte trois. La solution doit donc être flexible à cet égard.
Le langage SQL peut également être généré à partir d'un langage de programmation, de sorte que cette solution offre davantage d'options, si cela peut vous aider.
Veuillez m'informer si vous ne disposez pas de suffisamment d'informations.