Menggabungkan Jadual untuk Output Disatukan
Dalam bidang manipulasi data, menggabungkan berbilang jadual menjadi satu output padu adalah cabaran biasa. Pertimbangkan senario di mana anda mempunyai dua jadual, KnownHours dan UnknownHours, setiap satu mengandungi nombor caj, kategori, bulan dan jam bekerja. Matlamatnya ialah untuk mengagregat waktu, tanpa mengambil kira bulan, untuk mendapatkan pandangan yang disatukan.
Untuk mencapai ini, anda boleh memanfaatkan kuasa operasi UNION SQL. Ini membolehkan anda menggabungkan hasil berbilang pertanyaan ke dalam satu set data. Dalam kes khusus ini, anda perlu mengumpulkan jam mengikut nombor caj dan kategori, menggunakan fungsi agregat SUM().
Pertanyaan SQL untuk mencapai ini adalah seperti berikut:
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;
Di sini, kata kunci UNION ALL menggabungkan hasil dua pertanyaan berasingan. Pertanyaan pertama mendapatkan jam dari jadual KnownHours, mengumpulkannya mengikut nombor caj dan kategori; pertanyaan kedua mendapatkan semula jam daripada jadual UnknownHours, menganggapnya sebagai tergolong dalam kategori 'Tidak diketahui'.
Dengan menggunakan UNION ALL, langkah semakan pendua diabaikan, menghasilkan prestasi yang lebih baik berbanding menggunakan UNION sahaja.
Hasil pertanyaan ini ialah jadual disatukan yang menyediakan jumlah jam bekerja untuk setiap nombor caj dan kategori, tanpa mengira bulan di mana ia berlaku.
Atas ialah kandungan terperinci Bagaimanakah Operasi UNION SQL Boleh Menyatukan Jam daripada Berbilang Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!