Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menggabungkan Jadual SQL dan Memastikan Nilai Tarikh Unik?

Bagaimana untuk Menggabungkan Jadual SQL dan Memastikan Nilai Tarikh Unik?

DDD
DDDasal
2024-12-27 00:51:10951semak imbas

How to Merge SQL Tables and Ensure Unique Date Values?

Menggabungkan Jadual dengan Tarikh Unik

Dalam SQL, menggabungkan dua jadual sambil mengekalkan nilai tarikh unik adalah tugas biasa. Berikut ialah penyelesaian kepada masalah anda untuk menggabungkan jadual Masuk dan Keluar:

Langkah pertama ialah menggabungkan jadual menggunakan operator UNION ALL. Operator ini menggabungkan baris daripada kedua-dua jadual tanpa mengalih keluar pendua:

(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
)

Seterusnya, kita perlu menghapuskan tarikh pendua. Untuk ini, kami menggunakan klausa GROUP BY untuk menyatukan baris dengan tarikh dan produk yang sama:

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;

Pertanyaan akhir ini menghasilkan jadual dengan nilai tarikh unik, seperti yang dikehendaki. Output akan serupa dengan contoh yang anda berikan:

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

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Jadual SQL dan Memastikan Nilai Tarikh Unik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn