如何对某类商品进行打折?

Posted

技术标签:

【中文标题】如何对某类商品进行打折?【英文标题】:How to place a discount on a certain category of goods? 【发布时间】:2021-03-31 17:31:24 【问题描述】:

我有两张桌子:

 categories                                products

CatID | Name                ProdID | CatFK | Model | Price |Name        

我有一些产品类别,如沙发、桌子等,所有产品都有自己的类别,通过外键 CatFK 使用类别表引用 我正在尝试在 SELECT 查询中打折,例如沙发,但我不能正确地做到这一点。

select c.Name, p.Model, P.Price, p.Code
from categories c, products p
where catfk = catid
and (c.name = 'Sofa' and p.Price = p.Price * 0.8);

最后我需要一个包含 4 列的产品列表(桌子、沙发等),但在价格列中,所有沙发的价格必须是我之前插入的价格数量的 80%

【问题讨论】:

【参考方案1】:

您需要在select 列表中使用case 表达式来获取折扣后的价格:

SELECT c.Name, p.Model, p.Code, 
       p.price * CASE name WHEN 'Sofa' THEN 0.8 ELSE 1 END AS price
FROM   categories c, products p
WHERE  catfk = catid

编辑: 附带说明一下,隐式连接被认为是过时的,您可能应该使用显式连接:

SELECT c.Name, p.Model, p.Code, 
       p.price * CASE name WHEN 'Sofa' THEN 0.8 ELSE 1 END AS price
FROM   categories c
JOIN   products p ON catfk = catid

【讨论】:

以上是关于如何对某类商品进行打折?的主要内容,如果未能解决你的问题,请参考以下文章

mysql 查询时 按照某个字段计算后的值 排序?

利用Python爬虫爬取淘宝网某类商品的图片

WooCommerce:在商店中展示打折商品

爬取购物网站某类商品多个页面并存储

L1-051 打折

L1-051 打折