そのため、私のデータベース内に、dividionsという列があり、companyテーブルにあります。会社からの単純なSELECT部門を使用します。もちろん、分割行が表示されます
{"{\"id\": \"c88c8cf6-4b23-4575-a99f-1da966ad68a4-ceo\", \"title\":
\"CEO\", ... }"}
私がする必要があるのは、各JSONBの1つのフィールド(タイトルなど)のみを返すことです。
私はこれを行うためにさまざまな方法を試しましたが、見つけることができる最も近いものは
SELECT json_array_elements(divisions->>'title'::jsonb) FROM companies;
しかし、これはエラーを返します
ERROR: invalid input syntax for type json
LINE 1: SELECT json_array_elements(divisions->>'title'::jsonb) FROM ...
^
DETAIL: Token "title" is invalid.
何か案が?
unnest
最初にPostgreSQL配列が必要です。
SELECT d->>title
FROM companies AS c
CROSS JOIN LATERAL unnest(c.divisions) AS d(d);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加