Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menggabungkan Jadual SQL dan Memastikan Nilai Tarikh Unik?
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!