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 ?

DDD
Libérer: 2024-12-27 00:51:10
original
944 Les gens l'ont consulté

How to Merge SQL Tables and Ensure Unique Date Values?

Fusionner des tables avec des dates uniques

En SQL, fusionner deux tables tout en conservant des valeurs de date uniques est une tâche courante. Voici une solution à votre problème de fusion des tables Inbound et Outbound :

La première étape consiste à fusionner les tables à l'aide de l'opérateur UNION ALL. Cet opérateur combine les lignes des deux tables sans supprimer les doublons :

(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
)
Copier après la connexion

Ensuite, nous devons éliminer les dates en double. Pour cela, nous utilisons la clause GROUP BY pour consolider les lignes avec la même date et le même produit :

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;
Copier après la connexion

Cette requête finale aboutit à une table avec des valeurs de date uniques, comme vous le souhaitez. Le résultat sera similaire à l'exemple que vous avez fourni :

Date           Product       Inbound        Outbound
2017-05-13     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
:              :             :              :
:              :             :              :
Copier après la connexion

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