Maison >base de données >tutoriel mysql >Comment fusionner des tables SQL et garantir des valeurs de date uniques ?

Comment fusionner des tables SQL et garantir des valeurs de date uniques ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-31 18:20:11795parcourir

How to Merge SQL Tables and Guarantee Unique Date Values?

Fusionner des tables et garantir des valeurs de date uniques dans SQL

Pour fusionner deux tables tout en garantissant l'unicité des valeurs de date, utilisez l'approche suivante :

  1. Union des deux sous-requêtes : Créez deux sous-requêtes pour extraire des données à partir des tables Entrants et Sortants. Additionnez la colonne Quantité dans la sous-requête Inbound et comptez le OutboundType dans la sous-requête Outbound.
  2. Combinez les résultats avec Union All : Combinez les résultats des deux sous-requêtes à l'aide de l'opérateur UNION ALL. Cela créera un ensemble de résultats unique contenant à la fois les transactions entrantes et sortantes.
  3. Regrouper par date et produit : Appliquez l'opérateur GROUP BY à l'ensemble de résultats combiné, en utilisant les colonnes Date et Produit comme critères de regroupement. Cela garantira que chaque combinaison date-produit unique n'est représentée qu'une seule fois dans le résultat final.
  4. Somme entrante et sortante : Utilisez SUM pour calculer la quantité totale entrante pour chaque combinaison date-produit. et SUM pour compter le total des transactions sortantes pour chaque combinaison.
  5. Afficher les résultats : L'ensemble de résultats final affichera la date, le produit et le total. Quantité entrante et total des transactions sortantes pour chaque date et combinaison de produits uniques.

Exemple de code :

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;

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