gpt4 book ai didi

javascript - NodeJS MySQL : Query when second parameter is null

转载 作者:行者123 更新时间:2023-11-29 10:45:29 24 4
gpt4 key购买 nike

当第二个或任何下一个参数但第一个参数为 null 时,是否可以完成 mySQL 查询?

例如,我根据给定日期 (datereport) 为单个项目 (itemreport) 生成报告。

现在,当前端没有选择任何项目并且其 req.query.itemreport 获取 null 时,必须考虑到用户要求执行其余的查询所有项目,而不是单个项目,而不停止执行,因为它获取 null 参数 (itemreport)。

reportsdateres.post(function(req, res, next) {

datereport = req.query.datereport;
itemreport = req.query.itemreport; // this can be null for querying all items

req.getConnection(function(err, conn) {

if (err) return next("Cannot Connect");

var query = conn.query("SELECT SUM(total_profit) AS fee_total FROM transactions WHERE date_created = ? AND item = ?", [datereport, itemreport], function(err, rows) {
// ^^^^^^^^^^^^

// do myStuff

});
});
});

最佳答案

reportsdateres.post(function(req, res, next) {

datereport = req.query.datereport;
itemreport = req.query.itemreport; // this can be null for querying all items

req.getConnection(function(err, conn) {

if (err) return next("Cannot Connect");

var query = conn.query("SELECT SUM(total_profit) AS fee_total FROM transactions WHERE date_created = ? AND item = COALESCE(?, item)", [datereport, itemreport], function(err, rows) {

// do myStuff
});
});
});

COALESCE(我们可以在代码中去掉 if else)函数将考虑第一个参数(如果它不为空),否则它将比较 item 列的值与其自身,有关更多详细信息,请访问:https://www.w3schools.com/sql/sql_isnull.asp

关于javascript - NodeJS MySQL : Query when second parameter is null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44676025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com