簡體   English   中英

在某些條件下如何在SQL查詢中執行數學運算?

[英]How do I perform math in SQL query on certain conditions?

我有幾個要查詢的表格,商品移動和價格。 有三個價格級別,常規價格,降價和銷售價。 我正在嘗試減價(商品在銷售時的價格減去正常價格或減價價格)。 我的物料移動表僅包含銷售單位的價格和該銷售的價格類型。 我目前僅選擇按銷售價格類型出售的物品。 接下來,我必須查看商品是正常價格還是折后價格,這是通過查看價格表確定的。 價目表上有我的常規價格和降價價格,如果降價為空,則當前不降價。

我如何告訴SQL我想要一個本質上是(如果price.tprprice不為null並且price.tprenddate> @StartDate給我列(price.baseprice-price.tprprice)的列)“ markdown” * itemmovement.qtysold AS markdown ELSE給我一欄(price.baseprice-itemmovement.price)* itemmovement.qtysold AS降價

我需要將對每一行執行的每個計算的結果返回到標題為Markdown的同一列中。

誰能告訴我該查詢的結構?

case when price.tprprice is not null AND price.tprenddate > @StartDate
     then (price.baseprice - price.tprprice) * itemmovement.qtysold 
else (price.baseprice - itemmovement.price) * itemmovement.qtysold 
end as markdown

您可以使用適用於大多數數據庫的case語句來做到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM