我正在尝试编写一个 delete 语句,并且 return 子句将 id 作为对象数组返回,如下所示:
[
{simcard_id: 1},
{simcard_id: 2},
{simcard_id: 3},
]
但我希望它返回一个数字数组:
[1, 2, 3]
有没有办法让语句返回一个只有数字的数组?我尝试了一些聚合函数,但我不断收到错误,说我无法在返回语句中执行array_agg函数。我也尝试这样做:
RETURNING ARRAY[simcard_id]
但后来它变得很奇怪。
我不是sql的最佳人选,所以任何帮助将不胜感激。
我知道我可以映射值并返回一个数字数组,但我想借此机会了解我是否可以使用sql来做到这一点。
下面是 sql 查询。它使用 nodejs 的 postgres 库。
const simcardsIds = await sql`
DELETE FROM simcards
WHERE simcard_id = ANY(${sql.array(simcards)})
RETURNING simcard_id
`
米脂
相关分类