Maison >base de données >tutoriel mysql >Comment afficher/masquer les produits basés sur les règles du fabricant dans MySQL à l'aide d'instructions SELECT conditionnelles ?

Comment afficher/masquer les produits basés sur les règles du fabricant dans MySQL à l'aide d'instructions SELECT conditionnelles ?

DDD
DDDoriginal
2024-11-29 17:03:10966parcourir

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

Instruction de sélection MySQL avec requête de visibilité conditionnelle

Dans les scénarios où les données de table nécessitent un affichage conditionnel basé sur des critères spécifiques, il est courant d'utiliser des instructions conditionnelles, telles que CASE ou IF/ELSEIF, dans une requête de sélection MySQL. Dans ce cas, une requête est nécessaire pour déterminer la visibilité du produit en fonction des règles du fabricant.

Problème :

Étant donné deux tableaux, l'un contenant des informations sur le fabricant et les régions de visibilité, et un autre contenant des informations sur le produit, l'objectif est de créer une requête qui renvoie les détails du produit ainsi qu'une valeur calculée indiquant où le produit peut être consulté. La valeur calculée doit être basée sur le fait que le produit soit neuf ou d'occasion, et sur les règles d'exposition définies dans le tableau du fabricant.

Solution :

CASE et IF/ Les instructions ELSEIF peuvent être utilisées pour obtenir ce résultat, CASE exprimant les conditions de manière plus succincte.

La requête suivante utilise un CASE déclaration :

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

Dans cette requête :

  • L'instruction CASE évalue le champ d'état de chaque produit.
  • En fonction du statut (« Nouveau » ou 'Used'), il récupère la valeur expose_new ou expose_used correspondante de la table des fabricants.
  • Le résultat est affecté à 'expose' colonne, qui indique la visibilité du produit.

Cette requête détermine dynamiquement les contraintes de visibilité pour chaque produit en fonction des paramètres du fabricant et de l'état du produit. Il fournit les informations nécessaires à l'affichage ou à la distribution conditionnelle en fonction des régions spécifiées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn