Menggabungkan Jadual untuk Output Bersatu
Jadual boleh digabungkan untuk mencapai pelbagai hasil manipulasi data. Satu tugas biasa adalah untuk menyatukan data daripada berbilang jadual ke dalam satu jadual untuk analisis selanjutnya. Pertimbangkan senario berikut:
Anda mempunyai dua jadual, KnownHours dan UnknownHours, yang mengandungi data jam yang dikaitkan dengan nombor caj. Objektif anda adalah untuk mengumpulkan waktu perniagaan ini, tanpa mengira bulan, ke dalam satu jadual dengan format berikut:
ChargeNum CategoryID Hours 111111 1 90 111111 2 50 111111 Unknown 110.5 222222 1 40 222222 Unknown 25.5
Dalam senario ini, anda perlu mengagregatkan waktu untuk setiap gabungan unik ChargeNum dan CategoryID (atau "Tidak diketahui" untuk UnknownHours). Untuk mencapai matlamat ini, anda boleh memanfaatkan operator UNION:
SELECT ChargeNum, CategoryID, SUM(Hours) FROM KnownHours GROUP BY ChargeNum, CategoryID UNION ALL SELECT ChargeNum, 'Unknown' AS CategoryID, SUM(Hours) FROM UnknownHours GROUP BY ChargeNum
Pernyataan SQL ini menggabungkan hasil dua pertanyaan. Kumpulan pertanyaan pertama dan menjumlahkan jam daripada jadual KnownHours oleh ChargeNum dan CategoryID. Pertanyaan kedua mengumpulkan dan menjumlahkan jam daripada jadual UnknownHours oleh ChargeNum dan menetapkan CategoryID 'Unknown'.
Dengan menggabungkan hasil menggunakan UNION ALL, jadual akhir termasuk baris daripada kedua-dua pertanyaan. Fungsi agregat SUM() memastikan bahawa jam terkumpul untuk memadankan ChargeNums dan CategoryIDs.
Menggunakan teknik ini, anda boleh menggabungkan jadual dengan cekap untuk mencipta paparan gabungan data anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Berbilang Jadual dengan Struktur Berbeza ke dalam Jadual Output Bersatu Tunggal Menggunakan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!