Combinaison de tableaux pour une sortie unifiée
Les tableaux peuvent être fusionnés pour obtenir divers résultats de manipulation de données. Une tâche courante consiste à consolider les données de plusieurs tables en une seule table pour une analyse plus approfondie. Considérez le scénario suivant :
Vous disposez de deux tables, KnownHours et UnknownHours, contenant des données horaires associées aux numéros de facturation. Votre objectif est de regrouper ces heures, quel que soit le mois, dans un seul tableau au format suivant :
ChargeNum CategoryID Hours 111111 1 90 111111 2 50 111111 Unknown 110.5 222222 1 40 222222 Unknown 25.5
Dans ce scénario, vous devez regrouper les heures pour chaque combinaison unique de ChargeNum et CategoryID (ou "Inconnu" pour UnknownHours). Pour y parvenir, vous pouvez exploiter l'opérateur UNION :
SELECT ChargeNum, CategoryID, SUM(Hours) FROM KnownHours GROUP BY ChargeNum, CategoryID UNION ALL SELECT ChargeNum, 'Unknown' AS CategoryID, SUM(Hours) FROM UnknownHours GROUP BY ChargeNum
Cette instruction SQL combine les résultats de deux requêtes. La première requête regroupe et additionne les heures de la table KnownHours par ChargeNum et CategoryID. La deuxième requête regroupe et additionne les heures de la table UnknownHours par ChargeNum et attribue le CategoryID 'Unknown'.
En combinant les résultats à l'aide de UNION ALL, la table finale inclut les lignes des deux requêtes. La fonction d'agrégation SUM() garantit que les heures sont accumulées pour faire correspondre les ChargeNums et les CategoryID.
Grâce à cette technique, vous pouvez fusionner efficacement des tables pour créer une vue consolidée de vos données.
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!