json_array_elements
を使用できます SETOF json
を生成する関数 配列から:
SELECT name, json_array_elements(data) AS author
FROM publisher
これがあれば、サブクエリとして使用できるため、必要なものをフィルタリングできます。例:
SELECT DISTINCT author->>'author'
FROM (
SELECT name, json_array_elements(data) AS author
FROM publisher
) t
WHERE t.author->>'type' = 'Novel';
このテーブルに多くの行がある場合、そのようなクエリのパフォーマンス(少なくとも現在のバージョンの9.3)は非常に悪くなることに注意してください。データをテーブルに正規化することをお勧めします。