我试图在我的选择中使用Known.raw(),但是在运行npm测试时出现500错误。简而言之;我希望每当计数列增加时,“剩余”列就会减少。
我已经用SQL编写和测试了我的代码,并使用psql进行了测试,并且得到了想要的结果。
SELECT table_1.column_1 - COUNT(table_2.column_2) AS remaining, COUNT(table_2.column_2) AS count_column FROM table_1
JOIN table_2
ON table_1.joining_column = table_2.joining_column
GROUP BY table_1.joining_column;
这是我的knex.raw代码的外观;
return connection
.select(knex.raw('table_1.column_1 - COUNT(table_2.column_2) AS remaining'))
.count('table_2.column_2 as count_column)
.from('table_1')
.leftJoin('table_2', "table_1.joining_column", "=", "table_2.joining_column"
.groupBy("table_1.joining_column")
.then(result => {
return result
})
我希望获得与psql显示的结果相同的结果,但是始终会出现500错误。如果我在代码中删除了knex.raw行,则一切运行正常,并且它返回一个没有“剩余”列的对象。