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;
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!
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