Maison > base de données > tutoriel mysql > Comment déterminer la visibilité du produit dans MySQL en fonction des paramètres du fabricant ?

Comment déterminer la visibilité du produit dans MySQL en fonction des paramètres du fabricant ?

Susan Sarandon
Libérer: 2024-12-09 16:06:16
original
227 Les gens l'ont consulté

How to Determine Product Visibility in MySQL Based on Manufacturer Settings?

Instruction MySQL Select : Détermination de la visibilité des produits à l'aide des paramètres du fabricant

Votre objectif est de construire une requête qui calcule la visibilité des produits en fonction de règles défini dans la table du fabricant. Plus précisément, vous souhaitez déterminer où un produit peut être consulté (par exemple, partout, au Canada uniquement ou aux États-Unis uniquement).

La requête initiale tente d'utiliser une instruction IF/ELSEIF dans une sous-requête pour calculer la visibilité. Cependant, cette approche est incorrecte. Envisagez plutôt d'utiliser une instruction CASE pour évaluer l'état du produit et attribuer le niveau de visibilité approprié.

L'instruction CASE fournie présente un problème mineur : elle évalue toujours la première condition WHEN, quel que soit l'état du produit. Pour résoudre ce problème, supprimez la condition AND de chaque clause WHEN.

La requête révisée suivante devrait fournir le résultat souhaité :

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
Copier après la connexion

Cette requête évalue l'état de chaque produit, que ce soit « Nouveau » ' ou 'Utilisé', et renvoie le niveau de visibilité correspondant défini dans la table du fabricant.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal