Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menunjukkan/Menyembunyikan Produk Berdasarkan Peraturan Pengilang dalam MySQL Menggunakan Pernyataan SELECT Bersyarat?

Bagaimana untuk Menunjukkan/Menyembunyikan Produk Berdasarkan Peraturan Pengilang dalam MySQL Menggunakan Pernyataan SELECT Bersyarat?

DDD
DDDasal
2024-11-29 17:03:10917semak imbas

How to Show/Hide Products Based on Manufacturer Rules in MySQL Using Conditional SELECT Statements?

MySQL Select Statement with Conditional Visibility Query

Dalam senario di mana data jadual memerlukan paparan bersyarat berdasarkan kriteria tertentu, adalah perkara biasa untuk menggunakan pernyataan bersyarat, seperti CASE atau JIKA/ELSEIF, dalam pertanyaan pilih MySQL. Dalam keadaan ini, pertanyaan diperlukan yang menentukan keterlihatan produk berdasarkan peraturan pengilang.

Masalah:

Diberikan dua jadual, satu mengandungi maklumat pengilang dan kawasan keterlihatan, dan satu lagi yang mengandungi maklumat produk, objektifnya adalah untuk membuat pertanyaan yang mengembalikan butiran produk bersama-sama dengan nilai yang dikira yang menunjukkan tempat produk itu boleh dilihat. Nilai yang dikira hendaklah berdasarkan sama ada produk itu baharu atau digunakan, dan peraturan dedahan yang ditakrifkan dalam jadual pengilang.

Penyelesaian:

Kedua-dua CASE dan IF/ Pernyataan ELSEIF boleh digunakan untuk mencapai hasil ini, dengan CASE menyatakan syarat dengan lebih ringkas.

Pertanyaan berikut menggunakan Kenyataan CASE:

SELECT 
  t2.company_name,
  t2.expose_new,
  t2.expose_used,
  t1.title,
  t1.seller,
  t1.status,
  CASE status
      WHEN 'New' THEN t2.expose_new
      WHEN 'Used' THEN t2.expose_used
      ELSE NULL
  END as 'expose'
FROM
  `products` t1
JOIN manufacturers t2
  ON
    t2.id = t1.seller
WHERE
  t1.seller = 4238

Dalam pertanyaan ini:

  • Penyata CASE menilai medan status setiap produk.
  • Berdasarkan status ('Baharu' atau 'Digunakan'), ia mendapatkan semula nilai expose_new atau expose_used yang sepadan daripada jadual pengeluar.
  • The keputusan ditetapkan pada lajur 'dedahkan', yang menunjukkan keterlihatan produk.

Pertanyaan ini secara dinamik menentukan kekangan keterlihatan untuk setiap produk berdasarkan tetapan pengilang dan status produk. Ia menyediakan maklumat yang diperlukan untuk paparan atau pengedaran bersyarat berdasarkan wilayah yang ditentukan.

Atas ialah kandungan terperinci Bagaimana untuk Menunjukkan/Menyembunyikan Produk Berdasarkan Peraturan Pengilang dalam MySQL Menggunakan Pernyataan SELECT Bersyarat?. 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