Menggabungkan Pertanyaan PILIH untuk Analisis Tugasan Komprehensif
Pertanyaan pangkalan data selalunya memerlukan gabungan data daripada berbilang sumber untuk mendapatkan gambaran yang lengkap. Ini melibatkan penggabungan hasil beberapa SELECT
pernyataan—satu teknik penting dalam banyak konteks pengaturcaraan.
Pertimbangkan senario yang melibatkan pangkalan data tugasan dengan tarikh akhir dan tugasan individu. Objektifnya adalah untuk menjana laporan yang menunjukkan setiap individu, jumlah kiraan tugas mereka dan bilangan tugas yang tertunggak.
Ini boleh dicapai menggunakan dua pertanyaan SELECT
berasingan: satu untuk mengira tugasan bagi setiap individu dan satu lagi untuk mengira tugasan tertunggak (di mana Age
melebihi tarikh akhir yang telah ditetapkan PALT
). Untuk menyatukan maklumat ini, LEFT JOIN
digunakan. Ini memastikan semua individu daripada pertanyaan pertama disertakan, dengan memadankan kiraan tugas tertunggak daripada pertanyaan kedua. Gabungan adalah berdasarkan lajur ks
(pengecam individu).
Pertanyaan gabungan adalah seperti berikut:
<code class="language-sql">SELECT t1.ks, t1.[# Tasks], COALESCE(t2.[# Late], 0) AS [# Late] FROM (SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks) t1 LEFT JOIN (SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks) t2 ON t1.ks = t2.ks;</code>
Output ialah jadual yang menyenaraikan ks
setiap individu, jumlah kiraan tugas mereka (# Tasks
) dan bilangan tugas tertunggak (# Late
). COALESCE
mengendalikan kes di mana individu tidak mempunyai tugas tertunggak, memberikan nilai 0
kepada # Late
. Ini memberikan ringkasan yang komprehensif dan tepat.
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Dua Pertanyaan PILIH untuk Mengira Tugasan dan Tugasan Lewat untuk Setiap Individu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!