如何使用Knex.js相乘然后添加两个表列的值?

时间:2017-09-05 13:11:24

标签: mysql knex.js

我需要将表column_A的{​​{1}}和column_B的值相乘,然后使用table_A添加它们。以下是我用来实现它的代码,导致错误:

knex.js

指向我在这里缺少什么?

3 个答案:

答案 0 :(得分:1)

也许这效果更好:

knex('table_A').select(
  knex.raw('sum(?? * ??) as ??', ['column_A', 'column_B', 'column_C'])
)

答案 1 :(得分:0)

knex('table_a')
  .columns([
    knex.raw('sum(column_a * column_b) as column_c')
  ])
  .first()
  .then((rows) => {
    console.log(rows); //log { column_c: 500 }
  });

答案 2 :(得分:0)

这对我有用。您可以使用knexraw查询获取对象

async getTotal(user_id){
 return await
                    this.knex.raw('SELECT sum(cart.qty * product_item.price) as sub_total\n' +
                        'FROM cart \n' +
                        'JOIN product_item ON cart.product_item_id = product_item.id\n' +
                        'WHERE cart.user_id=39');
}