我需要将总销售额除以500,才能得到我正在处理的作业的折扣阈值,但我找不出哪里出了问题。抱歉,如果这是一个愚蠢的问题,但我是在我的头几个星期学习java。
String nameDFF;
String inputStringDFF;
int quantityDFF, discountThresholdDFF;
double salesPriceDFF, totalSalesAmountDFF;
//Create a new Scanner object to read user's input
Scanner keyboard = new
我遇到了一点麻烦,我希望SO社区能帮我解决这个问题。
目前,我们正在为订单折扣编写自定义逻辑,这是基于可配置规则的。以下是最简单的表格:
阶
OrderID int
OrderDiscount
OrderID int
DiscountID int
折扣
DiscountID int
我们正在使用实体框架(但这个问题可以适用于任何数据模型)。我觉得我的选择很简单,但两者都有各自的缺点:
在我的SQL订单表中添加一列“折扣”。缺点:当订单被更新时,我们需要记住重新计算折扣并更新这一列。这可能会导致数据不一致,但性能会更好。还将允许覆盖折扣金额。
在代码中向我的订单数据模型添加一个“折扣”属
下面是我的DiscountPeriod表的结构:
id
room_id
date_from
date_last
discount
假设我们有折扣,从01 December 2017开始,以10 December 2017结尾。
我在找日期范围看看有没有折扣。因此,日期范围可能完全或部分在某些折扣期内。3个示例日期-搜索范围:
从12月2日至12月10日(完全在一个折扣期内)
11月20日至12月4日(部分在内部)
12月5日至12月15日(部分在内部)
以上所有三个例子的预期都是以01 December 2017开头,以10 December 2017结尾的折扣。
目前,我
我已经编写了一个查询来从数据库中选择销售值,并应用折扣(如果有使用的话)。折扣要么是百分比,要么就是固定价值。我的查询应用折扣(第一个case语句),然后提取应用的金额。
这让我思考是否有可能在一个case语句中完成这项工作。
查询:
SELECT
SUM(CASE
WHEN td.Transaction_ID IS NULL
THEN p.Sale
WHEN td.Transaction_ID IS NOT NULL AND d.Discount_Type = '0'
THEN p.Sale - (p.Sale * (dp.Discount_Percent/10