我有一个名为“条目”的表格,我保存每日销售和购买交易/条目。 “条目”表格如下:
---参赛表---
EntryDate EntryType Item Qty Rate Cost Sale
2016-01-01 Purchase Apples 10 10 100 -
2016-01-02 Purchase Apples 20 15 300 -
2016-01-02 Purchase Oranges 20 15 300 -
2016-01-02 Sale Apples 5 20 ** 100
....
....
现在,我需要运行一个查询更新上表中的[cost]列,其中[EntryType]为'Sale'。成本将使用加权平均法计算,即当前销售行成本=总和(所有先前的购买成本 - 所有先前[计算的]销售成本)/总和(所有先前的购买数量 - 所有先前的销售数量)。
我需要更新查询
update entires set ...
答案 0 :(得分:0)
只是为了确保我做对了,
Cost = (Sum of cost previous purchases -Sum of cost previous sales)/(sum of qty previous purchases -Sum of qty previous sales)
好的拳头我喜欢做一个小建议,让每个人的生活变得轻松。您需要将一种类型记录为否定。假设您将购买标记为负数(包括成本和数量)
EntryDate EntryType Item Qty Rate Cost Sale
2016-01-01 Purchase Apples -10 10 -100 -
2016-01-02 Purchase Apples -20 15 -300 -
2016-01-02 Purchase Oranges -20 15 -300 -
2016-01-02 Sale Apples 5 20 ** 100
....
....
现在循环遍历每个销售行并在查询下方运行(希望有一个有助于识别订单的ID列):
Cost = SELECT SUM(`ID`)/SUM(`TaxID`) FROM category WHERE `TaxID` < currentID
使用此和更新费用