Tajuk itu ditulis semula sebagai: Mendinamikan pertanyaan SQL
P粉478188786
P粉478188786 2023-09-06 15:20:57
0
1
498

Saya mempunyai pertanyaan SQL berikut dan tertanya-tanya sama ada saya boleh menjadikan SUM() sebahagian daripadanya dinamik supaya saya tidak perlu memasukkan category_id (2 dan 3) secara manual.

SELECT a.project_id, COUNT(a.id) AS Total, SUM(CASE WHEN a.category_id = 2 AND a.`status` < 80 THEN 1 ELSE 0 END) AS 'Bugs En cours', SUM(CASE WHEN a.category_id = 2 AND a.`status` >= 80 THEN 1 ELSE 0 END) AS 'Bugs Resolu', SUM(CASE WHEN a.category_id = 3 AND a.`status` < 80 THEN 1 ELSE 0 END) AS 'Ameliorations En cours', SUM(CASE WHEN a.category_id = 3 AND a.`status` >= 80 THEN 1 ELSE 0 END) AS 'Ameliorations Resolu' FROM bugs a GROUP BY a.project_id HAVING COUNT(a.id) > 0

Matlamatnya adalah untuk menyenaraikan id item dan kiraan pelbagai jenis Anomali berdasarkan kategori_id dan status ('En cours' atau 'Resolu').

Masalah dengan pertanyaan ini ialah jika kita menambah kategori lain, saya perlu mengedit pertanyaan ini secara manual, yang tidak sesuai.

P粉478188786
P粉478188786

membalas semua (1)
P粉908643611

SQL dinamik di bawah sedang membina keadaan dan jumlah daripada jadual rujukan dengan kategori.

project_id Jumlah Ralat sedang berjalan Pepijat diselesaikan Kerja Dalam Proses Menyelesaikan kecacatan Penambahbaikan sedang dijalankan Peningkatan yang diselesaikan
0 5 1 0 1 1 1 1
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!