我为拥有多个地址的客户提供数据,其中json表示如下:
{
"firstName" : "Max",
"lastName" : "Mustermann",
"addresses" : [{
"city" : "München",
"houseNumber" : "1",
"postalCode" : "87654",
"street" : "Leopoldstraße",
}, {
"city" : "Berlin",
"houseNumber" : "2a",
"postalCode" : "12345",
"street" : "Kurfürstendamm",
}
]
}
这些json存储在名为customer的表中名为json的数据类型为json的列中。
我想这样查询:
SELECT *
FROM customer cust,
json_array_elements(cust.json#>'{addresses}') as adr
WHERE adr->>'city' like '%erlin'
and adr->>'street' like '%urf%';
查询工作正常......但无法创建postgresql 9.3.4可以使用的索引。
有什么想法吗?