Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menggabungkan Penyata SQL SELECT Berbilang untuk Mengira Tugas dan Tugasan Lewat?

Bagaimana untuk Menggabungkan Penyata SQL SELECT Berbilang untuk Mengira Tugas dan Tugasan Lewat?

Mary-Kate Olsen
Lepaskan: 2025-01-08 22:29:44
asal
156 orang telah melayarinya

How to Combine Multiple SQL SELECT Statements to Count Tasks and Late Tasks?

Menggabungkan Berbilang Pernyataan SELECT SQL: Contoh Praktikal

Panduan ini menunjukkan cara menggabungkan hasil berbilang penyataan SQL SELECT dengan cekap ke dalam satu jadual yang komprehensif. Kami akan menggunakan pangkalan data pengurusan tugas sebagai contoh. Setiap rekod tugasan termasuk butiran seperti tarikh akhir, hari sehingga tarikh akhir (PALT) dan umur (hari sejak penciptaan). Matlamatnya adalah untuk menjana laporan yang menunjukkan, untuk setiap orang, jumlah kiraan tugas mereka dan bilangan tugas yang tertunggak.

Pertanyaan individu untuk mengira jumlah tugasan dan tugas lewat mungkin kelihatan seperti ini:

<code class="language-sql">SELECT ks, COUNT(*) AS "Total Tasks" FROM Table GROUP BY ks;</code>
Salin selepas log masuk
<code class="language-sql">SELECT ks, COUNT(*) AS "Overdue Tasks" FROM Table WHERE Age > Palt GROUP BY ks;</code>
Salin selepas log masuk

Untuk menggabungkan hasil carian ini, kami menggunakan LEFT JOIN. Ini memastikan semua orang daripada jumlah kiraan tugas disertakan, walaupun mereka tidak mempunyai tugas tertunggak.

<code class="language-sql">SELECT t1.ks, t1."Total Tasks", COALESCE(t2."Overdue Tasks", 0) AS "Overdue Tasks"
FROM 
    (SELECT ks, COUNT(*) AS "Total Tasks" FROM Table GROUP BY ks) t1
LEFT JOIN
    (SELECT ks, COUNT(*) AS "Overdue Tasks" FROM Table WHERE Age > Palt GROUP BY ks) t2
ON t1.ks = t2.ks;</code>
Salin selepas log masuk

Fungsi COALESCE mengendalikan kes di mana seseorang tidak mempunyai tugas tertunggak (mengakibatkan NULL daripada LEFT JOIN), menggantikan NULL dengan 0 untuk kejelasan. Jadual akhir akan menunjukkan ks (ID orang), "Jumlah Tugasan" dan "Tugas Tertunggak". LEFT JOIN memastikan semua individu disenaraikan, tidak kira sama ada mereka mempunyai tugas tertunggak.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Penyata SQL SELECT Berbilang untuk Mengira Tugas dan Tugasan Lewat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan