Heim >Datenbank >MySQL-Tutorial >Wie füge ich SQL-Tabellen zusammen und garantiere eindeutige Datumswerte?

Wie füge ich SQL-Tabellen zusammen und garantiere eindeutige Datumswerte?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-31 18:20:11780Durchsuche

How to Merge SQL Tables and Guarantee Unique Date Values?

Tabellen zusammenführen und eindeutige Datumswerte in SQL sicherstellen

Um zwei Tabellen zusammenzuführen und gleichzeitig die Eindeutigkeit der Datumswerte sicherzustellen, verwenden Sie den folgenden Ansatz:

  1. Alle zwei Unterabfragen vereinen: Erstellen Sie zwei Unterabfragen zum Extrahieren Daten aus den Inbound- und Outbound-Tabellen. Summieren Sie die Quantity-Spalte in der Inbound-Unterabfrage und zählen Sie den OutboundType in der Outbound-Unterabfrage.
  2. Ergebnisse mit Union All kombinieren: Kombinieren Sie die Ergebnisse beider Unterabfragen mit dem UNION ALL-Operator. Dadurch wird ein einziger Ergebnissatz erstellt, der sowohl eingehende als auch ausgehende Transaktionen enthält.
  3. Nach Datum und Produkt gruppieren: Wenden Sie den Operator „GROUP BY“ auf den kombinierten Ergebnissatz an und verwenden Sie dabei die Spalten „Datum“ und „Produkt“. Gruppierungskriterien. Dadurch wird sichergestellt, dass jede eindeutige Datum-Produkt-Kombination im Endergebnis nur einmal vertreten ist.
  4. Eingehende und ausgehende Summe: Verwenden Sie SUM, um die gesamte eingehende Menge für jede Datum-Produkt-Kombination zu berechnen und SUMME, um die gesamten ausgehenden Transaktionen für jede Kombination zu zählen.
  5. Ergebnisse anzeigen: Der endgültige Ergebnissatz zeigt das Datum, das Produkt und die Gesamtsumme an Eingehende Menge und gesamte ausgehende Transaktionen für jede eindeutige Datums- und Produktkombination.

Beispielcode:

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;

Das obige ist der detaillierte Inhalt vonWie füge ich SQL-Tabellen zusammen und garantiere eindeutige Datumswerte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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