Maison >base de données >tutoriel mysql >Comment faire pivoter des données avec plusieurs colonnes dans une table à largeur variable à l'aide de SQL ?

Comment faire pivoter des données avec plusieurs colonnes dans une table à largeur variable à l'aide de SQL ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-24 08:48:17933parcourir

How to Pivot Data with Multiple Columns into a Variable-Width Table Using SQL?

Pivotement des données à l'aide de plusieurs colonnes pour un tableau à largeur variable

Dans l'analyse et la gestion des données, le pivotement des données est une technique essentielle pour transformer un tableau en une structure différente. Cela implique de réorganiser les lignes et les colonnes pour rendre les données plus accessibles à l'analyse.

Cette question a un objectif similaire : transformer des données pivotées en un tableau à largeur variable. Les données d'entrée sont représentées dans un format pivot, avec les ID utilisateur, les organisations, les postes et les langues. L'objectif est de restructurer les données de telle sorte que chaque ligne contienne un identifiant d'utilisateur et les valeurs d'organisation et de poste correspondantes pour trois langues différentes : "EN", "FI" et "SV".

La question explore les utilisation d'une requête PIVOT avec une commande connect by comme solution potentielle. Cependant, cette approche n'est pas recommandée pour ce scénario.

Au lieu de cela, une solution plus simple utilisant l'opérateur PIVOT est présentée dans la réponse :

SELECT *
FROM   source
PIVOT (
        MIN(org) AS org,
        MIN(position) AS position
        FOR lang
        IN('EN' AS en, 'FI' AS fi, 'SV' AS sv)
      );

Cette requête PIVOT transforme avec succès les données d'entrée dans le tableau à largeur variable souhaité, chaque ligne contenant l'ID utilisateur, l'organisation et le poste pour les trois langues.

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!

Déclaration:
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