如何从对象数组中选择字段值?

时间:2019-06-07 12:17:43

标签: sql json postgresql

我有一个带有以下JSON的JSON列

. display "`old'"
cory michael gabrielle keaton hector thea charles

. display "`new'"
jason fred jean

我期望查询输出select * from shipping_manifest 的ID列表。我试过以下查询,但得到空值。

select
 client_id, order_id, pallet_id, pallet_volume, order_volume,
 SUM(pallet_volume) OVER (PARTITION BY order_id) + SUM(distinct order_volume) as TOTAL 
from yourt_table where your_coinditions -- replace your clause
 group by client_id, order_id, pallet_id,pallet_volume, order_volume

如何从对象数组中获取此特定字段值?

1 个答案:

答案 0 :(得分:1)

您需要将数组提取为行,然后获取id

select json_array_elements(colName->'users')->>'id' ids from tableName;

如果您使用的是jsonb而不是json,则函数为jsonb_array_elements