我正在尝试编写一个delete语句,returning子句将id作为对象数组返回,如下所示:
[
{simcard_id: 1},
{simcard_id: 2},
{simcard_id: 3},
]
但我希望它返回一个数字数组:
[1, 2, 3]
有没有办法让语句返回一个只有数字的数组?我尝试了一些聚合函数,但不断出现错误,说我不能在返回语句中执行array\u agg函数。我也试着这样做:
RETURNING ARRAY[simcard_id]
但后来就变得很奇怪了。
我不擅长sql,所以任何帮助都将不胜感激。
我知道我可以Map这些值并返回一个数字数组,但我想借此机会学习一下是否可以使用sql。
下面是sql查询。它正在为nodejs使用postgres库。
const simcardsIds = await sql`
DELETE FROM simcards
WHERE simcard_id = ANY(${sql.array(simcards)})
RETURNING simcard_id
`
1条答案
按热度按时间bkhjykvo1#
你可以用这样的方法接近它:
这将为您提供如下输出:
你可以走得更远,就像这样:
这会给你: