【发布时间】:2015-08-11 04:58:36
【问题描述】:
我在匹配表中有以下数据:
{"Id":1,"Teams":[{"Name":"TeamA","Players":[{"Name":"AAA"},{"Name":"BBB"}]},{"Name":"TeamB","Players":[{"Name":"CCC"},{"Name":"DDD"}]}],"TeamRank":[1,2]}
{"Id":2,"Teams":[{"Name":"TeamA","Players":[{"Name":"CCC"},{"Name":"BBB"}]},{"Name":"TeamB","Players":[{"Name":"AAA"},{"Name":"DDD"}]}],"TeamRank":[1,2]}
最终我想获得一个独特团队名称的列表。
在This Question 之后,我一直在尝试使用以下方法访问团队名称属性:
SELECT json_array_elements(match->>'Teams') FROM matches
返回
ERROR: function json_array_elements(text) does not exist
SQL state: 42883
Hint: No function matches the given name and argument types. You might need to add explicit type casts.
Character: 1560
我也试过 json_array_elements(match->>'Teams'::json) 和 json_array_elements(to_json(match->>'Teams')) 无济于事。
但是下面的查询
SELECT match->>'Teams' FROM matches;
返回
"[{"Name":"TeamA","Players":[{"Name":"AAA"},{"Name":"BBB"}]},{"Name":"TeamB","Players":[{"Name":"CCC"},{"Name":"DDD"}]}]"
"[{"Name":"TeamA","Players":[{"Name":"CCC"},{"Name":"BBB"}]},{"Name":"TeamB","Players":[{"Name":"AAA"},{"Name":"DDD"}]}]"
【问题讨论】:
标签: json postgresql