Я пытаюсь написать оператор UPDATE
с Knex.
SQL, который я хотел бы вывести:
UPDATE customers SET "month_value" = "src"."month_value", "modified" = NOW() FROM ( SELECT COALESCE(SUM("month_value"), 0) AS month_value FROM "customer_products" WHERE "active" = true AND "customer_id" = 111781 ) src WHERE "id" = 111781
Пока это мой JavaScript:
db.knex.table('customers')
.where('id', '=', ':customerId')
.from(db.sequelize.knex.raw('(' +
'SELECT' +
'COALESCE(SUM("month_value"), 0) AS month_value' +
'FROM "customer_products"' +
'WHERE "active" = true' +
'AND "customer_id" = ?' +
') AS src' +
'WHERE "id" = :customerId', [customerId]))
.update({'month_value': src.month_value,
'modified': NOW(),
})
Однако, это дает мне эту ошибку:
{"message":"ApiErrorMiddleware ReferenceError: src is not defined","level":"info"}
{"message":"UnknownErrorMiddleware ReferenceError: src is not defined","level":"info"}
Что я сделал не так?