Maison > base de données > tutoriel mysql > Comment puis-je faire pivoter les données utilisateur par langue à l'aide de deux colonnes (organisation et position) ?

Comment puis-je faire pivoter les données utilisateur par langue à l'aide de deux colonnes (organisation et position) ?

DDD
Libérer: 2024-12-28 07:40:26
original
819 Les gens l'ont consulté

How Can I Pivot User Data by Language Using Two Columns (Organization and Position)?

Pivotement des données à l'aide de deux colonnes

Cette question répond à la nécessité de faire pivoter les données à partir d'un format où chaque ligne représente un utilisateur et son organisation correspondante. et position dans un format où chaque ligne contient un utilisateur et ses organisations et postes regroupés par langue.

L'exemple fourni montre que les données d'origine sont stockées dans une table où chaque ligne contient un identifiant utilisateur, une organisation, un poste et une langue. Le résultat souhaité est d'avoir un tableau où chaque ligne contient un identifiant d'utilisateur, son organisation et sa position pour chaque langue.

Pour y parvenir, une requête pivot peut être utilisée pour transformer les données. La requête fournie par l'utilisateur est un bon point de départ, mais elle nécessite des modifications supplémentaires pour obtenir le résultat souhaité.

La requête modifiée suivante devrait fonctionner :

SELECT user_id, 
    MAX(CASE WHEN lang = 'EN' THEN org END) AS org_en, 
    MAX(CASE WHEN lang = 'EN' THEN position END) AS position_en, 
    MAX(CASE WHEN lang = 'FI' THEN org END) AS org_fi, 
    MAX(CASE WHEN lang = 'FI' THEN position END) AS position_fi, 
    MAX(CASE WHEN lang = 'SV' THEN org END) AS org_sv, 
    MAX(CASE WHEN lang = 'SV' THEN position END) AS position_sv
FROM source
GROUP BY user_id;
Copier après la connexion

Cette requête utilise le CASE pour comparer la colonne lang aux langues souhaitées et renvoie l'organisation ou le poste correspondant si la condition est remplie. La fonction MAX() est ensuite utilisée pour agréger les résultats pour chaque ID utilisateur.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal