Détermination de la visibilité du produit dans MySQL à l'aide de CASE ou IF/ELSE
Dans un scénario où la visibilité du produit est déterminée par les régions définies par le fabricant, vous peut rencontrer la nécessité de calculer dynamiquement les régions visibles pour chaque produit en fonction de son statut (neuf ou utilisé) et des paramètres de région correspondants spécifiés par le fabricant. Ceci peut être réalisé en utilisant les instructions CASE ou IF/ELSE dans MySQL.
Approche de l'instruction 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
Dans cette requête, l'instruction CASE évalue l'état du produit (neuf ou utilisé) et attribue sous condition la valeur d'exposition appropriée en fonction des paramètres expose_new ou expose_used du fabricant. Le résultat est une valeur « expose » à un chiffre pour chaque produit, indiquant sa région visible.
Approche IF/ELSE :
Alors que l'IF/ELSE vous approche tentée contient des erreurs logiques, une version corrigée pourrait être :
SELECT t2.company_name, t2.expose_new, t2.expose_used, t1.title, t1.seller, t1.status, IF(status = 'New', t2.expose_new, IF(status = 'Used', t2.expose_used, NULL)) as 'expose' FROM `products` t1 JOIN manufacturers t2 ON t2.id = t1.seller WHERE t1.seller = 4238
Dans cette requête corrigée, l'instruction IF/ELSE attribue conditionnellement l'exposition valeur basée sur l’état du produit et les paramètres d’exposition du fabricant. Le résultat est le même que celui de l'approche de l'instruction CASE, fournissant la valeur « exposer » pour chaque produit.
En tirant parti de l'instruction CASE ou IF/ELSE dans MySQL, vous pouvez calculer efficacement les régions visibles pour les produits basés sur sur des règles spécifiées par le fabricant, permettant un affichage dynamique et conditionnel des informations sur le produit.
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!