Menggabungkan Jadual dan Memastikan Nilai Tarikh Unik dalam SQL
Untuk menggabungkan dua jadual sambil memastikan keunikan nilai tarikh, gunakan pendekatan berikut:
-
Kesatuan Semua Dua Subqueries: Buat dua subqueries untuk mengekstrak data daripada jadual Inbound dan Outbound. Jumlahkan lajur Kuantiti dalam subkueri Masuk dan kira Jenis Keluar dalam subkueri Keluar.
-
Gabungkan Keputusan dengan Kesatuan Semua: Gabungkan keputusan kedua-dua subkueri menggunakan operator UNION ALL. Ini akan mencipta set hasil tunggal yang mengandungi kedua-dua transaksi masuk dan keluar.
-
Kumpulkan mengikut Tarikh dan Produk: Gunakan operator GROUP BY pada set hasil gabungan, menggunakan lajur Tarikh dan Produk sebagai kriteria pengelompokan. Ini akan memastikan bahawa setiap gabungan tarikh-produk unik diwakili sekali sahaja dalam hasil akhir.
-
Jumlah Masuk dan Keluar: Gunakan SUM untuk mengira jumlah kuantiti Masuk bagi setiap kombinasi produk tarikh dan SUM untuk mengira jumlah transaksi Keluar untuk setiap kombinasi.
-
Keputusan Paparan: Set keputusan akhir akan memaparkan Tarikh, Produk, jumlah kuantiti Masuk dan jumlah transaksi Keluar untuk setiap tarikh unik dan gabungan produk.
Kod Contoh:
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;
Salin selepas log masuk
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Jadual SQL dan Menjamin Nilai Tarikh Unik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!