Menggunakan Penyata Kes untuk Populasi Lajur Bersyarat dalam MySQL
Dengan keperluan untuk mengisi dua lajur secara bersyarat ('Income Amt' dan 'Expense Amt ') dalam jadual 'tbl_transaction', pernyataan kes terbukti sebagai penyelesaian yang berkesan dalam MySQL.
Pernyataan kes membolehkan anda menilai ungkapan dan mengembalikan nilai yang berbeza berdasarkan sama ada syarat dipenuhi atau tidak. Dalam kes ini, lajur action_type digunakan sebagai syarat untuk menentukan sama ada amaun harus diperuntukkan kepada lajur Amt Pendapatan atau Expense Amt.
Berikut ialah pertanyaan yang menunjukkan penggunaan penyata kes untuk mencapai yang diingini hasil:
SELECT id, action_heading, CASE WHEN action_type = 'Income' THEN action_amount ELSE NULL END AS income_amt, CASE WHEN action_type = 'Expense' THEN action_amount ELSE NULL END AS expense_amt FROM tbl_transaction;
Dalam pertanyaan ini, penyata CASE digunakan dua kali, sekali untuk menetapkan tindakan_jumlah kepada lajur income_amt jika jenis_tindakan ialah 'Pendapatan' dan sekali untuk menetapkan jumlah_tindakan kepada lajur expense_amt jika jenis_tindakan ialah 'Perbelanjaan'.
Keluaran pertanyaan ini adalah seperti berikut:
id | action_heading | income_amt | expense_amt |
---|---|---|---|
1 | ABC | 1000 | NULL |
2 | XYZ | NULL | 2000 |
Ini menunjukkan cara pernyataan kes boleh mengisi lajur secara dinamik berdasarkan ungkapan bersyarat, menyediakan cara yang mudah untuk mengkategorikan dan menyusun data dengan berkesan.
Atas ialah kandungan terperinci Bagaimanakah Penyata MySQL CASE Boleh Mengisi Lajur Secara Bersyarat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!