2012-10-04 22 views
0

我需要创建的是一个包含“规则”的表格,例如压倒价格和将股票价格上涨百分比。根据存储在单独表格中的许多标准来应用计算?

例如:

销售价格是包含产品信息的表中选择,然后系统需要检查另一个表,看看是否客户/产品/产品类别有坚决反对任何价格规则,如作为百分比折扣或设定价格被重写。

我该如何获得首先检查问题中的顾客是否存在于表格中,然后是否存在产品,然后是否存在该类别;然后应用存储的价格变化?

到目前为止,我们有一个包含一个标题PriceRules表:

RuleID | CustomerID |产品代码|类别|价格|百分比| DateApplied | AppliedBy

该计划是在每个列中存储不同的变量,然后根据列进行搜索。

我相信这听起来很混乱,所以我会尽快回答问题。

由于提前,

鲍勃·P

+0

也许存储过程对此最好,因为它需要条件和额外的检查。 – Nick

+0

要使“找到应用的规则”更简单,请在PriceRules表中添加一个新列:DateExpired。当你添加一个新的规则,从旧规则接管你也更新旧规则的到期日期。这种额外的数据完整性处理将使所有其他更简单。 – MatBailie

+0

延续问题http://stackoverflow.com/questions/12724346/rules-table-method-in-access-has-anyone-heard-of-it – Fionnuala

回答

1

您可以开始使用SQL这些结果联接:

SELECT ... 
Product.ProductPrice as Price, 
CustomerRules.ProductPriceRules as Rules 
FROM Product 
LEFT JOIN Customer 
ON ... 
LEFT JOIN CustomerRules 
ON Product.ProductID = CustomerRules.ProductID 
AND Customer.CustomerID = CustomerRules.CustomerID 

LEFT JOIN将只返回匹配结果,如果有的话,如果记录不不存在所有CustomerRules字段将包含NULL值

+0

如果他们是多个规则,具有不同的DateApplied值? *(我不知道Access的复杂性,我甚至不知道它是否支持相关的子查询。)* – MatBailie

+0

@Dems所有数据库都必须支持标准SQL(并非总是如此)。所有这一切都可以使用标准的SQL –

+0

来完成嗨Germann,如果填充的客户字段,填充类别字段或填充产品字段,则需要应用该规则,这还有可能吗? –

相关问题