Maison > base de données > tutoriel mysql > le corps du texte

Comment créer un tableau croisé dynamique dans MySQL avec des noms de colonnes entiers ?

Linda Hamilton
Libérer: 2024-11-16 18:51:03
original
261 Les gens l'ont consulté

How to Create a Dynamic Pivot Table in MySQL with Integer Column Names?

Tableau croisé dynamique MySQL avec noms de colonnes entiers

Créer un tableau croisé dynamique dynamique avec des noms de colonnes entiers dans MySQL pose un léger défi. Lors de l'exécution de la requête fournie, vous pouvez rencontrer une erreur si les valeurs user_id sont des nombres entiers. Pour résoudre ce problème, nous devons envelopper les valeurs user_id dans des backticks (`).

La requête SQL ajustée ressemble à ceci :

SET @sql = NULL;
SELECT
  GROUP_CONCAT(DISTINCT
    CONCAT(
      'max(case when user_id = ''',
      user_id,
      ''' then score end) AS `',
      user_id, '`'
    )
  ) INTO @sql
FROM  measure2;

SET @sql = CONCAT('SELECT inspection_date, ', @sql, ' 
                  FROM measure2 
                  GROUP BY inspection_date');

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
Copier après la connexion

La modification clé ici est l'ajout de backticks autour des valeurs user_id dans l'instruction GROUP_CONCAT. En faisant cela, nous nous assurons que les valeurs user_id sont traitées comme des chaînes au lieu de noms de colonnes.

Démo SQL Fiddle : https://sqlfiddle.com/#!2/eab24/ 4

Maintenant, même avec des valeurs user_id entières, le tableau croisé dynamique sera généré avec succès.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal