Fusionner des tables et unifier des dates
En SQL, la combinaison des données de plusieurs tables est essentielle pour une analyse complète. Ce problème nécessite la fusion de deux tables, Inbound et Outbound, qui suivent les mouvements des produits. La requête initiale fusionne efficacement ces tables, mais il existe une exigence supplémentaire pour afficher les dates de manière unique.
Affichage unique de la date à l'aide de UNION ALL et GROUP BY
Pour obtenir un résultat unique affichage de la date, la requête d'origine peut être modifiée pour utiliser UNION ALL en conjonction avec GROUP BY :
SELECT Date, Product, SUM(Inbound) as Inbound, SUM(Outbound) as Outbound FROM ((SELECT Inbound_Date As Date, Product, SUM(Quantity) as Inbound, 0 as Outbound FROM Inbound GROUP BY 1,2 ) UNION ALL (SELECT Outbound_Date, Product, 0 as Inbound, COUNT(*) as Outbound FROM Outbound GROUP BY 1,2 ) ) io GROUP BY Date, Product;
Répartition de la Modifications :
Interprétation des résultats :
La requête modifiée produit le résultat souhaité :
Date | Product | Inbound | Outbound |
---|---|---|---|
2017-05-23 | Product A | 400 | 1 |
2017-09-04 | Product C | 380 | 0 |
2017-10-18 | Product C | 0 | 1 |
... | ... | ... | ... |
2018-09-10 | Product B | 200 | 1 |
... | ... | ... | ... |
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!