我想创建一个选择查询,为我提供PIN码为99997的客户的结果,这些结果位于PostgreSQL表的下面的json中。
Json使用过
{
"user_address": [
{
"house_number": "123",
"house_address": "abc Colony",
"city": "XYZ",
"state": "PQR",
"pincode": "99999"
},
{
"house_number": "456",
"house_address": "mop Colony",
"city": "BKW",
"state": "MAH",
"pincode": "99997"
},
{
"house_number": "789",
"house_address": "poui Colony",
"city": "XYZ",
"state": "PQR",
"pincode": "99989"
},
{
"house_number": "879",
"house_address": "rty Colony",
"city": "BKW",
"state": "MAH",
"pincode": "99997"
}
]
}
已经尝试使用索引选项,该选项在“ user_address”中提供json。
答案 0 :(得分:2)
您可以使用PostgreSQL JSON数据类型中的json_array_elements
函数来查询数据
SELECT *
FROM test t, json_array_elements(t.address->'user_address') obj
WHERE obj->>'pincode' = '99997';
答案 1 :(得分:0)
您没有提供版本,但是对于postgres 12来说,这是相对简单的。如果您的表名为test,则使用名为“ a”的jsonb列:
window.onload = function() {
// Your script
}