表数据需要根据特定条件进行条件显示的场景,通常会使用条件语句,例如 CASE 或IF/ELSEIF,在 MySQL 选择查询中。在这种情况下,需要根据制造商规则确定产品可见性的查询。
问题:
给定两个表,其中一个包含制造商信息和可见区域,另一个包含产品信息,目标是创建一个查询,返回产品详细信息以及指示可以在何处查看产品的计算值。计算值应基于产品是新的还是旧的,以及制造商表中定义的暴露规则。
解决方案:
CASE 和 IF/可以利用 ELSEIF 语句来实现此结果,并使用 CASE 更简洁地表达条件。
以下查询使用 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
在此查询中:
此查询根据制造商的设置和产品状态动态确定每个产品的可见性约束。它提供了根据指定区域进行条件显示或分发所需的信息。
以上是如何在 MySQL 中使用条件 SELECT 语句根据制造商规则显示/隐藏产品?的详细内容。更多信息请关注PHP中文网其他相关文章!