Heim > Datenbank > MySQL-Tutorial > Wie kann ich beim Zusammenführen eingehender und ausgehender Produktbewegungsdaten in SQL eindeutige Daten anzeigen?

Wie kann ich beim Zusammenführen eingehender und ausgehender Produktbewegungsdaten in SQL eindeutige Daten anzeigen?

DDD
Freigeben: 2024-12-25 22:42:10
Original
296 Leute haben es durchsucht

How Can I Display Unique Dates When Merging Inbound and Outbound Product Movement Data in SQL?

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;
Nach dem Login kopieren

Aufschlüsselung der Änderungen:

  • UNION ALL kombiniert die Ergebnisse von zwei Unterabfragen, die jeweils eine der Originaltabellen darstellen.
  • Die Unterabfragen gruppieren die Daten nach Inbound_Date (alias „Datum“). und Produkt für Eingehend und nach Outbound_Date und Produkt für Ausgehend.
  • Durch Verschachteln dieser Unterabfragen, Eingehend und Ausgehend Mengen werden in Spalten unterteilt.
  • Die äußere GROUP BY-Klausel aggregiert die Daten weiter nach Datum und Produkt und stellt so sicher, dass doppelte Datumsangaben entfernt werden.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage