Penapisan Bersyarat dalam Klausa WHERE SQL Menggunakan CASE
KlausaSQL WHERE
digunakan untuk menapis data berdasarkan syarat yang ditentukan. Apabila anda perlu menggunakan kriteria penapisan yang berbeza bergantung pada data itu sendiri, pernyataan CASE
dalam klausa WHERE
menyediakan pendekatan yang berkuasa dan fleksibel.
Bayangkan jadual yang mengandungi pelbagai jenis lokasi ("lokasi," "kawasan," "bahagian") dengan ID masing-masing disimpan dalam lajur account_location
, xxx_location_area
dan xxx_location_division
. Untuk mendapatkan semula rekod berdasarkan jenis lokasi yang dipilih, pernyataan CASE
dengan elegan mengendalikan logik bersyarat:
<code class="language-sql">DECLARE @locationType VARCHAR(50); DECLARE @locationID INT; SELECT column1, column2 FROM viewWhatever WHERE @locationID = CASE @locationType WHEN 'location' THEN account_location WHEN 'area' THEN xxx_location_area WHEN 'division' THEN xxx_location_division END;</code>
Dengan menetapkan pembolehubah @locationID
dan @locationType
dengan sewajarnya, anda boleh menapis hasil secara dinamik. Pernyataan CASE
menentukan lajur lokasi yang hendak dibandingkan dengan @locationID
, membolehkan penapisan bersyarat yang cekap dan boleh disesuaikan.
Atas ialah kandungan terperinci Bagaimanakah Pernyataan CASE SQL Mendayakan Penapisan Bersyarat dalam Klausa WHERE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!