Tabellen mit eindeutigen Datumsangaben zusammenführen
In SQL ist das Zusammenführen zweier Tabellen unter Beibehaltung eindeutiger Datumswerte eine häufige Aufgabe. Hier ist eine Lösung für Ihr Problem beim Zusammenführen der Tabellen Inbound und Outbound:
Der erste Schritt besteht darin, die Tabellen mit dem UNION ALL-Operator zusammenzuführen. Dieser Operator kombiniert die Zeilen aus beiden Tabellen, ohne Duplikate zu entfernen:
(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 )
Als nächstes müssen wir doppelte Datumsangaben entfernen. Dazu verwenden wir die GROUP BY-Klausel, um Zeilen mit demselben Datum und Produkt zu konsolidieren:
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;
Diese letzte Abfrage führt wie gewünscht zu einer Tabelle mit eindeutigen Datumswerten. Die Ausgabe ähnelt dem von Ihnen bereitgestellten Beispiel:
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 : : : : : : : :
Das obige ist der detaillierte Inhalt vonWie füge ich SQL-Tabellen zusammen und stelle eindeutige Datumswerte sicher?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!