Tabellen zusammenführen und Daten vereinheitlichen
In SQL ist die Kombination von Daten aus mehreren Tabellen für eine umfassende Analyse unerlässlich. Dieses Problem erfordert die Zusammenführung zweier Tabellen, Inbound und Outbound, die Produktbewegungen verfolgen. Die anfängliche Abfrage führt diese Tabellen effektiv zusammen, es besteht jedoch eine zusätzliche Anforderung, die Daten eindeutig anzuzeigen.
Eindeutige Datumsanzeige mit UNION ALL und GROUP BY
Um Eindeutigkeit zu erreichen Datumsanzeige, die ursprüngliche Abfrage kann geändert werden, um UNION ALL in Verbindung mit GROUP BY zu verwenden:
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;
Aufschlüsselung der Änderungen:
Ausgabeinterpretation:
Die geänderte Abfrage erzeugt die gewünschte Ausgabe:
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 |
... | ... | ... | ... |
Das obige ist der detaillierte Inhalt vonWie kann ich beim Zusammenführen eingehender und ausgehender Produktbewegungsdaten in SQL eindeutige Daten anzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!