Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengisi Lajur Bersyarat dalam MySQL Menggunakan Pernyataan KES?

Bagaimanakah Saya Boleh Mengisi Lajur Bersyarat dalam MySQL Menggunakan Pernyataan KES?

DDD
DDDasal
2025-01-05 14:16:39462semak imbas

How Can I Populate Conditional Columns in MySQL Using a CASE Statement?

Mengisi Lajur Bersyarat Menggunakan Pernyataan Kes dalam MySQL

Apabila bekerja dengan jadual pangkalan data, selalunya menjadi perlu untuk mencipta lajur baharu yang mengisi secara dinamik data berdasarkan keadaan tertentu. MySQL menyediakan pernyataan CASE, yang membolehkan pengguna menilai dan menetapkan nilai secara bersyarat kepada lajur.

Pertimbangkan senario di mana jadual yang dipanggil 'tbl_transaction' wujud dengan lajur untuk ID transaksi, jenis tindakan (Perbelanjaan atau Pendapatan), tajuk , dan jumlah. Matlamatnya ialah untuk menjana dua lajur tambahan: Amt Pendapatan dan Amt Perbelanjaan, yang harus diisi dengan jumlah yang sesuai berdasarkan jenis transaksi.

Untuk mencapai ini menggunakan pertanyaan SQL, penyata CASE boleh digunakan:

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;

Pertanyaan ini menilai lajur action_type untuk setiap urus niaga, dan berdasarkan nilainya, memperuntukkan amaun yang sepadan kepada sama ada Amt Pendapatan atau lajur Amt Perbelanjaan. Apabila tindakan ialah Pendapatan, jumlah_tindakan diperuntukkan kepada Amt Pendapatan, manakala untuk Perbelanjaan, ia diperuntukkan kepada Amaun Perbelanjaan. Untuk tindakan yang bukan Pendapatan mahupun Perbelanjaan, NULL diperuntukkan kepada kedua-dua lajur.

Akibatnya, pertanyaan menghasilkan jadual output dengan lajur yang dikehendaki, di mana setiap baris mengandungi ID transaksi, tajuk, Pendapatan Amt ( jika berkenaan), dan Amt Perbelanjaan (jika berkenaan). Ini membolehkan analisis mudah dan pengkategorian transaksi berdasarkan jenisnya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengisi Lajur Bersyarat dalam MySQL Menggunakan Pernyataan KES?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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