如果只有「一個商品」時,我只要取 price
就可以取得真正販售價格(而非原始價格 original_price
)
但...假設裡面有「多個子商品」時
如圖所示,這三種都有自己的「原始價格」和「真正販售價格」
當然如果要顯示一定是要顯示「真正販售價格」
按照這個資料庫顯示
我取到的正確範圍會是 $990 - $1590 (如蝦皮作法)
我要如何讓程式知道哪一個是「這三個裡面」哪個最低?哪個最高?而優先比較 price
沒有則往後 original_price
,然後要再重新比較一次?
這是什麼邏輯...我腦筋已死
MYSQL :
select min(tempprice) as price_min,max(tempprice) as price_max
from (
select case when price=0 then original_price else price end as tempprice
from goods
) as TableA
https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=ba7be4f093e79e6c1ebe0148f602c47d
先下個UPDATE SET price = original_price WHERE price = ''
剩下的就簡單了
要是要抓沒打折的也可以下 WHERE price = original_price
而且依照正常邏輯來看
一個商品不可能只有「原始價格」
而沒有「真正販售價格」
因此original_price不留空才是更合理的