Я новичок в SQL, используя nodejs, я использую knex raw для запуска sql-запросов, я пытаюсь добавить два столбца
это мой код
db.raw("SELECT SUM('column1') + SUM('column2') FROM 'sales' AS 'total'")
.then(result => console.log(result[0]))
если я запускаю это, я получаю это в консоли
[RowDataPacket {
'SUM('column1') + SUM('column2')': 33458338.169500016 } ]
Я ожидал получить
[RowDataPacket {
'total': 33458338.169500016 } ]
Но, поскольку это не имеет значения, что это имя, я хочу только число, поэтому я попробовал это
db.raw("SELECT SUM('column1') + SUM('column2') FROM 'sales' AS 'total'")
.then(result => console.log(result[0]['SUM('column1') + SUM('column2')']))
Я получаю undefined
в консоли
Как получить общее количество?
Вы должны использовать
SELECT SUM('column1') + SUM('column2') AS 'total' FROM 'sales'
это решит вашу первую часть, и поскольку ваш результат result[0]
все еще показывает массив, вы можете использовать result[0][0].total
Почему бы не это:
db.('sales').sum({ total: ['column1', 'column2'] })
result[0]
- массив