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 ?
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 :
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!