在.select查询中使用knex.raw()

时间:2019-06-12 21:06:45

标签: javascript postgresql knex.js

我试图在我的选择中使用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行,则一切运行正常,并且它返回一个没有“剩余”列的对象。

0 个答案:

没有答案