【问题标题】:PostgreSQL + JS: Creating a query based on a random array length of 1-5 valuesPostgreSQL + JS:基于 1-5 个值的随机数组长度创建查询
【发布时间】:2019-05-28 21:33:28
【问题描述】:

我有一个函数,它每次返回一个包含 1-5 个整数的数组 长度不同:

[5, 10, 45, 55, 64]

如何根据该数组的长度生成 SQL 查询?

示例:如果数组长度为 3 个整数,我需要一个查询,例如

数组:[10, 25, 30]

SELECT * FROM cmets WHERE id IN($1, $2, $3)

如果数组长度为 5 个整数,我需要:

数组:[5, 9, 20, 41, 35]

SELECT * FROM cmets WHERE id IN($1, $2, $3, &4, &5)

【问题讨论】:

  • 我认为这是 stackoverflow.com/questions/10720420/… 的副本。基本上只需将参数与“,”加入 in 子句。
  • 非常感谢您的链接,我不知道如何表达我的问题,所以谷歌会返回正确的问题答案

标签: javascript sql node.js postgresql algorithm


【解决方案1】:

在变量中构建 IN 部分并将其附加到 SQL

如果你的数组有 [10, 25, 30]

v = "$1, $2, $3"构建一个变量

如果数组有 [5, 9, 20, 41, 35]

使用v = "$1, $2, $3, $4, $5"构建变量

然后将其附加到 SQL 中

SQL = 'SELECT * FROM comments WHERE id IN(v)'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-14
    • 1970-01-01
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-30
    相关资源
    最近更新 更多