一种产品有多种价格

时间:2018-03-31 20:11:13

标签: php mysql sql

我现在已经尝试了2天并且正在研究这个但是我找不到任何解决方案

所以我有3个表我想要的是,如果一个产品只有单个价格,那么如果产品有多个价格则显示单个价格,然后显示该产品的最低价格和最高价格。

所以在产品ID中,2号有3个价格。

因此,如果产品具有单一价格,那么每种产品都会有其价格 如果产品有多个价格,则显示最低价格$ 19.00 __ $ 26.00最高价格。

所以我该怎么做?我怎么能在页面上显示它?

product (id,  price)
         1     1
         2     2
         3     3
product_has_price (product_id, price_id)
                       1         1
                       2         2
                       2         3
                       3         4
                       2         5
price (id,  price)
        1   14.00
        2   19.00
        3   24.00
        4   35.00
        5   26.00

谢谢,如果有人帮忙

1 个答案:

答案 0 :(得分:1)

select  p.id
,       case 
        when min(i.price) <> max(i.price) then 
            concat('$ ', min(i.price), '__ $ ', max(i.price))
        else concat('$ ', min(i.price))
        end as PriceDescription
from    product p
join    product_has_price php
on      p.id = php.product_id
join    price i
on      i.id = php.price_id
group by
        p.id