gpt4 book ai didi

sql - 构建查询的更智能方式

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:52:18 26 4
gpt4 key购买 nike

在我的 node.js 模块中,我在一个数组中有一些数据,我需要构建一个查询:

var valueClause = "(fieldA = '" + data.fieldA + "' AND fieldB = '";
var whereClause = ' WHERE ';
var hasAdded = false;

data.accounts.forEach(function (account) {
whereClause += valueClause + account.fieldB + "') OR ";
hasAdded = true;
})

if (hasAdded) {
// remove OR
whereClause = whereClause.substring(0, whereClause.length - 3);

// use the whereClause in the query
...
}

在上述代码的末尾,如果我有 2 个帐户,我有 whereClause:

' WHERE (fieldA = 'abcde' AND fieldB = '0003') 或 (fieldA = 'abcde' AND fieldB = '0002') 或

我总是必须删除最后一个“或”位。

有没有更聪明的方法来构造上面的内容?

最佳答案

由于 fieldA 的值似乎在循环中固定,您可以编写此查询

  WHERE fieldA = 'abcde' AND fieldB IN ('0002','0003')

由于您没有准备好的 SQL 语句,您可以直接使用数组,因此您必须加入类似于您的方法的值。

如果保证至少存在一个值,我总是在循环中连接前导逗号并使用值的 substr(1)

关于sql - 构建查询的更智能方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46742146/

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