Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memaparkan Tarikh Unik Apabila Menggabungkan Data Pergerakan Produk Masuk dan Keluar dalam SQL?

Bagaimanakah Saya Boleh Memaparkan Tarikh Unik Apabila Menggabungkan Data Pergerakan Produk Masuk dan Keluar dalam SQL?

DDD
DDDasal
2024-12-25 22:42:10298semak imbas

How Can I Display Unique Dates When Merging Inbound and Outbound Product Movement Data in SQL?

Menggabungkan Jadual dan Tarikh Penyatuan

Dalam SQL, menggabungkan data daripada berbilang jadual adalah penting untuk analisis menyeluruh. Masalah ini memerlukan penggabungan dua jadual, Masuk dan Keluar, yang menjejaki pergerakan produk. Pertanyaan awal menggabungkan jadual ini dengan berkesan, tetapi terdapat keperluan tambahan untuk memaparkan tarikh secara unik.

Paparan Tarikh Unik Menggunakan UNION ALL dan GROUP BY

Untuk mencapai unik paparan tarikh, pertanyaan asal boleh diubah suai untuk menggunakan UNION ALL bersama-sama dengan GROUP OLEH:

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;

Pecahan Perubahan:

  • UNION ALL menggabungkan hasil dua subkueri, setiap satu mewakili satu daripada jadual asal.
  • Subkueri mengelompokkan data mengikut Inbound_Date (disebut sebagai Tarikh) dan Produk untuk Inbound dan mengikut Tarikh_Keluar dan Produk untuk Keluar.
  • Dengan menyarangkan subkueri ini, kuantiti Masuk dan Keluar dipisahkan ke dalam lajur.
  • Klausa GROUP BY luar mengagregatkan lagi data mengikut Tarikh dan Produk, memastikan pendua itu tarikh dialih keluar.

Output Tafsiran:

Pertanyaan yang diubah suai menghasilkan output yang diingini:

Date Product Inbound Outbound
2017-05-23 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 Bagaimanakah Saya Boleh Memaparkan Tarikh Unik Apabila Menggabungkan Data Pergerakan Produk Masuk dan Keluar dalam SQL?. 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