SQL Créer une vue avec Nom Champs et Valeur dans des enregistrements - SQL/NoSQL - Programmation
Marsh Posté le 23-04-2018 à 17:36:20
Je viens de trouver !
Si ça peut aider quelqu'un...
SELECT DATE_FORMAT(FROM_UNIXTIME(submit_time), '%b %e, %Y %l:%i %p') AS Submitted, MAX(IF(field_name='nom', field_value, NULL )) AS 'Nom', MAX(IF(field_name='prenom', field_value, NULL )) AS 'Prenom', MAX(IF(field_name='mail', field_value, NULL )) AS 'Mail', MAX(IF(field_name='telephone', field_value, NULL )) AS 'Telephone' FROM matable_foireuse WHERE form_name = 'Réservation Cours Photo Lyon Global' GROUP BY submit_time ORDER BY submit_time DESC |
Marsh Posté le 23-04-2018 à 17:20:07
Hello,
J'ai un petit soucis pour récupérer les données d'une table très mal formatée, dont je ne peux modifier la structure...
VOici la table :
submit_time form_name field_name field_value
------------------------------------------------------------------------------------------------------------
1522924728.8042 Réservation Cours Lyon Global nom durand
1522924728.8042 Réservation Cours Lyon Global prenom jf
1522924728.8042 Réservation Cours Lyon Global mail jf.durand@hotmail.fr
1522924728.8042 Réservation Cours Lyon Global telephone 06/06/06/06/06
1522925469.8983 TOULOUSE - Réservation Cours Débutant nom Dupont
1522925469.8983 TOULOUSE - Réservation Cours Débutant prenom Moretti
1522925469.8983 TOULOUSE - Réservation Cours Débutant mail superavocat@dubarreaugenial.fr
1522925469.8983 TOULOUSE - Réservation Cours Débutant telephone
1522868583.1744 Réservation Cours Lyon Global nom bernard
1522868583.1744 Réservation Cours Lyon Global prenom bertrand
1522868583.1744 Réservation Cours Lyon Global mail bernard.bertrand@citron.fr
1522868583.1744 Réservation Cours Lyon Global telephone 607988989
1522867040.1056 Réservation Cours Lyon Global nom CHARRAL
1522867040.1056 Réservation Cours Lyon Global prenom Laurent
1522867040.1056 Réservation Cours Lyon Global mail labonneviande@gmail.com
1522867040.1056 Réservation Cours Lyon Global telephone 0706050403
1522855899.9742 Réservation Cours Lyon Global nom Boulguiboulga
1522855899.9742 Réservation Cours Lyon Global prenom Casimir
1522855899.9742 Réservation Cours Lyon Global mail casimir@laposte.net
1522855899.9742 Réservation Cours Lyon Global telephone 607080910
Comme on le voit, les noms de champs sont situés dans field_name et les valeurs dans field_value...
J'aimerais créer une vue de cette table pour avoir ce type de résultat plus souple au traitement :
nom prenom mail telephone submit_time cours
------------------------------------------------------------------------------------------------------------
durand jf jf.durand@hotmail.fr 06/06/06/06/06 1522924728.8042 Réservation Cours Lyon Global
Dupont Moretti superavocat@dubarreaugenial.fr 1522925469.8983 TOULOUSE - Réservation Cours Débutant
bernard bertrand bernard.bertrand@citron.fr 607988989 1522868583.1744 Réservation Cours Lyon Global
CHARRAL Laurent labonneviande@gmail.com 0706050403 1522867040.1056 Réservation Cours Lyon Global
Boulguiboulga Casimir casimir@laposte.net 607080910 1522855899.9742 Réservation Cours Lyon Global
Je souhaiterais donc le faire en SQL à la volée, mais je sèche un peu...
La table est continuellement alimentée, donc ce n'est pas un oneshot mais de la conversion en continue.
La base est MySQL.
Est-ce possible où dois je passer par un langage plus évolué ?
Merci de votre aide.
---------------
[Instagram] - [Site Web] - [Blog Photo]