我应该如何从IndexedDB数据库中的多个表计算总销售额?

科丁·摩尔多瓦努(Codin Moldovanu)

我正在尝试使用Dexie.js在JavaScript中创建一个简单的库存/销售应用程序。我不确定如何在不编写糟糕的递归代码的情况下返回总销售金额,该代码仅对一种产品的总销售量运行多次查询。

我的架构有点像这样:

clients: "++id, name, phone",
order: "++id, clientId, daate",
order_content: "orderId, productId, qty",
product: "++id, name, mu, mk_cost, sa_cost, prod_cost",
stock: "++id, date, productId, qty, lot"

我将产品类型以及价格和其他详细信息存储在“产品”中。放置订单时,我将clientId存储在Order中,然后使用order_content作为排序的键,使用“ order_content”将项目存储在该位置。

我基本上想对每一项进行总计,并求和。

我尝试在db.product.each()循环中运行以下代码,但似乎让我很复杂。

var product1Total = 0;
function calculateTotal(productId, price){
db.order_content
.where("productID")
.equals(productId)
.each(function(item){
product1Total += (price * qty)
})
}

谢谢!

大卫·法兰德(David Fahlander)

如果您的目标是在单个查询中获得特定订单的总价,而prod_cost是产品的成本,并且您想要某个订单的总价,则应执行以下操作:

function calculateTotal (orderId) {
    return db.order_content
        .where('orderId').equals(orderId).toArray()
    .then(orderContents => {
        return Promise.all(
            orderContents.map(oc => db.product.get(oc.productId))
        ).then (products => {
            return orderContents.reduce (
                (total, oc, i) => total + oc.qty * producs[i].prod_cost, 0);
        });
    });
}

或具有异步功能:

async function calculateTotal (orderId) {
    let orderContents = await db.order_content
        .where('orderId').equals(orderId).toArray();

    let products = await Promise.all(orderContents.map(oc =>
        db.product.get(oc.productId));

    return orderContents.reduce (
        (total, oc, i) => total + oc.qty * producs[i].prod_cost, 0);
}

或使用香草ES5 JavaScript:

function calculateTotal (orderId) {
    return db.order_content
        .where('orderId').equals(orderId).toArray()
    .then(function (orderContents) {
        return Dexie.Promise.all(
            orderContents.map(function (oc) {
                return db.product.get(oc.productId);
            })
        ).then (function (products) {
            return orderContents.reduce (
                function (total, oc, i) {
                    return total + oc.qty * producs[i].prod_cost;
                }, 0);
        });
    });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在MySQL中计算每天的销售额

来自分类Dev

如何在单个语句中在Northwind数据库的“订单详细信息”表中获得每种产品的总销售额?

来自分类Dev

获得每个卖家的总销售额

来自分类Dev

计算MySQL每天的平均销售额

来自分类Dev

总销售额:向客户显示过去但没有当前的销售额

来自分类Dev

如何在SQL上计算我的总销售额的每日快照?

来自分类Dev

每位客户每年总销售额的SQL

来自分类Dev

从ssas多维数据集,如何按salespoint和月份从事实销售中获得最高销售额

来自分类Dev

计算与上周总熊猫销售量相比的周末销售额百分比,以及如何处理银行假期等例外情况

来自分类Dev

如何计算每个客户的总销售额?蟒蛇

来自分类Dev

获取WooCommerce产品总销售额

来自分类Dev

如何添加特定类别每月总销售额的条件

来自分类Dev

如何从5种最畅销的产品中获得总销售额?

来自分类Dev

如何在单个语句中在Northwind数据库的“订单详细信息”表中获得每种产品的总销售额?

来自分类Dev

MySQL-每个项目的总销售额

来自分类Dev

在Mysql中填充总销售额

来自分类Dev

将新的计算列(上周平均销售额为4)添加到现有表中

来自分类Dev

如何在SQL上计算我的总销售额的每日快照?

来自分类Dev

每年按月分层分配的总销售额

来自分类Dev

显示WooCommerce中类别的总销售额

来自分类Dev

从数据库中获取每日销售额 - 没有销售的天数应显示 0 - 最近 30 天的销售额

来自分类Dev

从sql表计算每日平均销售额

来自分类Dev

如何计算总销售额的百分比

来自分类Dev

如何计算与不同用户关联的销售额总和

来自分类Dev

如何计算MongoDB中的总销售额但产品价格数据来自不同的集合

来自分类Dev

如何使用 Map/Reduce MongoDB 返回每位作者的总销售额

来自分类Dev

如何计算 Progress / open edge 中 4 周期间的每周平均销售额?

来自分类Dev

连接两个表时计算没有缺失值的总销售额

来自分类Dev

计算我过去一周的销售额总和

Related 相关文章

  1. 1

    在MySQL中计算每天的销售额

  2. 2

    如何在单个语句中在Northwind数据库的“订单详细信息”表中获得每种产品的总销售额?

  3. 3

    获得每个卖家的总销售额

  4. 4

    计算MySQL每天的平均销售额

  5. 5

    总销售额:向客户显示过去但没有当前的销售额

  6. 6

    如何在SQL上计算我的总销售额的每日快照?

  7. 7

    每位客户每年总销售额的SQL

  8. 8

    从ssas多维数据集,如何按salespoint和月份从事实销售中获得最高销售额

  9. 9

    计算与上周总熊猫销售量相比的周末销售额百分比,以及如何处理银行假期等例外情况

  10. 10

    如何计算每个客户的总销售额?蟒蛇

  11. 11

    获取WooCommerce产品总销售额

  12. 12

    如何添加特定类别每月总销售额的条件

  13. 13

    如何从5种最畅销的产品中获得总销售额?

  14. 14

    如何在单个语句中在Northwind数据库的“订单详细信息”表中获得每种产品的总销售额?

  15. 15

    MySQL-每个项目的总销售额

  16. 16

    在Mysql中填充总销售额

  17. 17

    将新的计算列(上周平均销售额为4)添加到现有表中

  18. 18

    如何在SQL上计算我的总销售额的每日快照?

  19. 19

    每年按月分层分配的总销售额

  20. 20

    显示WooCommerce中类别的总销售额

  21. 21

    从数据库中获取每日销售额 - 没有销售的天数应显示 0 - 最近 30 天的销售额

  22. 22

    从sql表计算每日平均销售额

  23. 23

    如何计算总销售额的百分比

  24. 24

    如何计算与不同用户关联的销售额总和

  25. 25

    如何计算MongoDB中的总销售额但产品价格数据来自不同的集合

  26. 26

    如何使用 Map/Reduce MongoDB 返回每位作者的总销售额

  27. 27

    如何计算 Progress / open edge 中 4 周期间的每周平均销售额?

  28. 28

    连接两个表时计算没有缺失值的总销售额

  29. 29

    计算我过去一周的销售额总和

热门标签

归档