我使用 json_agg 从 psql 查询中派生出这种 json 格式
[{
"purchase_order_id":239,
"supply_forecast_id":565,
"purchase_order_status_history":[
{
"purchase_order_status_history_id":779,
"purchase_order_status_id":2},
{
"purchase_order_status_history_id":778,
"purchase_order_status_id":1}
]
}]
基于这个json。一条记录可以有多个状态历史。最新的状态历史将始终是数组中的第一个索引,在这种情况下是:
"purchase_order_status_history_id":779,
"purchase_order_status_id":2},
问题是如何查询我是否想获得具有最新状态的特定记录。如果我查询其中 purchase_order_status_id = 2 这条记录应该显示,但是当我查询 purchase_order_status_id = 1 时它不应该显示。
条件是查询将检查数组中的顶部/第一条记录并根据 purchase_order_status_id 检查值
我试着检查这个链接:
使用 Postgresql 查询检索 JSON 数组的前 N 条记录
但似乎无法弄清楚如何将其纳入我的问题。