Apabila bekerja dengan CASE..WHEN pernyataan dalam MySQL, adalah penting untuk memahami penggunaannya yang betul untuk mengelakkan perkara yang tidak dijangka keputusan.
Dalam pertanyaan yang disediakan, isu ini berpunca daripada kemasukan course_enrollment_settings.base_price serta-merta selepas CASE. Untuk pengendalian yang betul, anda harus mengalih keluar ungkapan ini.
MySQL menyokong dua bentuk pernyataan CASE:
Format 1 (Simple CASE): Digunakan untuk perbandingan mudah tanpa syarat carian.
Format 2 (Kes Keadaan Carian): Digunakan untuk keadaan carian dan ungkapan kompleks.
Dalam pertanyaan yang diberikan, anda menggunakan syarat carian, jadi anda memerlukan format kedua. Dengan mengalih keluar course_enrollment_settings.base_price, penyata CASE menjadi:
CASE WHEN course_enrollment_settings.base_price = 0 THEN 1 ... END
Dengan pembetulan ini, pertanyaan kini akan menghasilkan hasil yang dimaksudkan.
Atas ialah kandungan terperinci Bagaimana Menggunakan CASE dengan Betul...WHEN Statement dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!