如何对某一类商品给予折扣

  • 本文关键字:一类 mysql sql select case
  • 更新时间 :
  • 英文 :


我有两个表:

categories                                products
CatID | Name                ProdID | CatFK | Model | Price |Name        

我有一些类别的产品,比如沙发、桌子等等,所有产品都有自己的类别,由外键CatFK用categories表引用例如,我试图在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%

您需要在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

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

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

相关内容

  • 没有找到相关文章

最新更新