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!