Maison >base de données >tutoriel mysql >Comment pivoter les lignes MySQL en un nombre dynamique de colonnes?
Dans MySQL, même si le nombre de colonnes est inconnu, vous pouvez convertir efficacement la ligne en colonne, la méthode consiste à combiner la fonction polymère et la requête dynamique.
Pour voir le tableau mentionné dans la question, veuillez utiliser la fonction Count () avec une instruction de cas:
Le pivot dynamique
<code class="language-sql">SELECT pt.partner_name, COUNT(CASE WHEN pd.product_name = 'Product A' THEN 1 END) AS ProductA, COUNT(CASE WHEN pd.product_name = 'Product B' THEN 1 END) AS ProductB, COUNT(CASE WHEN pd.product_name = 'Product C' THEN 1 END) AS ProductC, COUNT(CASE WHEN pd.product_name = 'Product D' THEN 1 END) AS ProductD, COUNT(CASE WHEN pd.product_name = 'Product E' THEN 1 END) AS ProductE FROM partners pt LEFT JOIN sales s ON pt.part_id = s.partner_id LEFT JOIN products pd ON s.product_id = pd.prod_id GROUP BY pt.partner_name;</code>
Afin de générer dynamiquement des requêtes de pivot en fonction du nombre de produits, des déclarations de pré-traitement:
Cette requête construit dynamiquement les instructions SQL basées sur la table de produits pour s'assurer que le nombre de colonnes du résultat correspond au numéro de produit.Cette réponse révisée maintient l'image et fournit une réécriture plus concise et à la nature du contenu technique.
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!