Problème 1 : Récupération de données sur une seule ligne
Vous pouvez utiliser la fonction PIVOT pour transformer vos données dans un format à une seule ligne. La requête suivante modifie votre tentative précédente pour y parvenir :
SELECT app_id, transaction_id, mobile_no, MAX(CASE WHEN node_id = 1 THEN entered_value END) AS Q1, MAX(CASE WHEN node_id = 2 THEN entered_value END) AS Q2, MAX(CASE WHEN node_id = 3 THEN entered_value END) AS Q3, MAX(CASE WHEN node_id = 4 THEN entered_value END) AS Q4, MAX(CASE WHEN node_id = 5 THEN entered_value END) AS Q5 FROM trn_user_log GROUP BY app_id, transaction_id, mobile_no;
Cette requête regroupe les lignes par app_id, transaction_id et mobile_no et utilise la fonction MAX pour récupérer la valeur maximale saisie pour chaque colonne node_id, qui correspond aux valeurs « Q » que vous souhaitez afficher.
Problème 2 : Utiliser les valeurs de colonne comme en-tête Noms
Pour utiliser les valeurs de la colonne customer_attribute comme noms d'en-tête, vous pouvez utiliser l'instruction CASE en conjonction avec le mot-clé AS. La requête modifiée est la suivante :
SELECT app_id, transaction_id, mobile_no, MAX(CASE WHEN node_id = 1 THEN entered_value END) AS CASE customer_attribute WHEN 'Q1' THEN entered_value END, MAX(CASE WHEN node_id = 2 THEN entered_value END) AS CASE customer_attribute WHEN 'Q2' THEN entered_value END, MAX(CASE WHEN node_id = 3 THEN entered_value END) AS CASE customer_attribute WHEN 'Q3' THEN entered_value END, MAX(CASE WHEN node_id = 4 THEN entered_value END) AS CASE customer_attribute WHEN 'Q4' THEN entered_value END, MAX(CASE WHEN node_id = 5 THEN entered_value END) AS CASE customer_attribute WHEN 'Q5' THEN entered_value END FROM trn_user_log GROUP BY app_id, transaction_id, mobile_no;
Dans cette requête, l'instruction CASE est utilisée dans la fonction MAX pour sélectionner la valeur_entrée en fonction des valeurs customer_attribute correspondantes. Le mot-clé AS attribue les valeurs customer_attribute correspondantes comme en-têtes de colonne.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!