我有在 Postgres db 中jsonb[]命名的列的表(訂單)steps。
我需要創建 SQL 查詢來選擇 Step1、Step2 和 Step3 具有成功狀態的記錄
[
{
"step_name"=>"Step1",
"status"=>"success",
"timestamp"=>1636120240
},
{
"step_name"=>"Step2",
"status"=>"success",
"timestamp"=>1636120275
},
{
"step_name"=>"Step3",
"status"=>"success",
"timestamp"=>1636120279
},
{
"step_name"=>"Step4",
"timestamp"=>1636120236
"status"=>"success"
}
]
表結構id | 姓名 | 步驟 (jsonb)
uj5u.com熱心網友回復:
您可以使用 JSON 值包含操作來檢查條件是否存在
演示
select
*
from
test
where
steps @> '[{"step_name":"Step1","status":"success"},{"step_name":"Step2","status":"success"},{"step_name":"Step3","status":"success"}]'
uj5u.com熱心網友回復:
select id, name from orders
where
(
select bool_and(j->>'status' = 'success')
from jsonb_array_elements(steps) j
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/359836.html
標籤:sql 数组 PostgreSQL的 jsonb
上一篇:如何使用Table變數設定ExecuteSqlCommand
下一篇:從表中查找僅對一個ID唯一的值
