MySQL查询在phpmyadmin中工作,但在节点中不工作
我有一个带有左连接的查询,它在phpmyadmin中运行良好,但对于节点服务器中的某些行,同一查询返回null。我对node和MySQL都是新手 以下是我的查询,以获取日期范围之间的最畅销类别:MySQL查询在phpmyadmin中工作,但在节点中不工作,mysql,node.js,phpmyadmin,Mysql,Node.js,Phpmyadmin,我有一个带有左连接的查询,它在phpmyadmin中运行良好,但对于节点服务器中的某些行,同一查询返回null。我对node和MySQL都是新手 以下是我的查询,以获取日期范围之间的最畅销类别: SELECT o.order_id,c.category_id,c.category_name as Name, o.book_id, o.date_of_purchase, SUM(o.quantity) as Total, o.payment_method FROM `order_details`
SELECT o.order_id,c.category_id,c.category_name as Name, o.book_id, o.date_of_purchase, SUM(o.quantity) as Total, o.payment_method
FROM `order_details` as o
LEFT JOIN book as b on b.book_id = o.book_id
LEFT JOIN category as c on c.category_id = b.book_id
GROUP BY c.category_id
ORDER BY Total DESC LIMIT 1
我做错什么了吗
以下是我的表格和查询结果:
节点中的相同结果为:
{
"data": [
{
"order_id": 20,
"category_id": null,
"Name": null,
"book_id": 6,
"date_of_purchase": "2017-07-23T13:22:37.000Z",
"Total": 55,
"payment_method": "NB"
}
],
"status": 1,
"message": "Success"
}
调用查询的节点代码:
/*获得最畅销类别*/
category.getHighestSelling = function(fromDate, toDate) {
var query = "SELECT min(o.order_id) , c.category_id , c.category_name as Name , o.book_id , min(o.date_of_purchase) , SUM(o.quantity) as Total , min(o.payment_method) " +
"FROM `order_details` as o " +
"LEFT JOIN book as b on b.book_id = o.book_id " +
"LEFT JOIN category as c on c.category_id = b.book_id " +
"GROUP BY c.category_id , o.book_id " +
"ORDER BY Total DESC LIMIT 1 ";
if (fromDate && toDate) {
query += "WHERE `date_of_purchase` BETWEEN '" + dateFormat(fromDate, "yyyy-mm-dd , h:MM:ss ") + "' AND '" + (dateFormat(toDate, "yyyy-mm-dd , h:MM:ss ") || new Date()) + "'";
}
return utilities.executeQuery(query);
};
节点的代码在哪里?这可能会有帮助。你的
分类id
=图书id
?这似乎不是两个表之间的逻辑关系。@WEI\u DBA:你说得对,应该是category.category\u id=book.category\u id.eeegh,我怎么会错过这个。但这不是问题所在。。我仍然得到同样的结果。@jakerella:我有一个函数执行这个查询。我现在已经把它添加到我的问题中了。在返回之前,您可以console.log(query);平心而论,这是完全相同的。可选where子句与上面的查询不同…节点的代码在哪里?这可能会有帮助。你的分类id
=图书id
?这似乎不是两个表之间的逻辑关系。@WEI\u DBA:你说得对,应该是category.category\u id=book.category\u id.eeegh,我怎么会错过这个。但这不是问题所在。。我仍然得到同样的结果。@jakerella:我有一个函数执行这个查询。我现在已经把它添加到我的问题中了。在返回之前,您可以console.log(query);平心而论,这是完全相同的。可选where子句与上面的查询不同。。。