2012-10-04 26 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,如果填充的客戶字段,填充類別字段或填充產品字段,則需要應用該規則,這還有可能嗎? –

相關問題