SELECT q.id, d.key, d.value
FROM q
JOIN json_each_text(q.data) d ON true
ORDER BY 1, 2;
関数json_each_text()
は集合を返す関数なので、行ソースとして使用する必要があります。関数の出力はここにありますq
へ 、つまり、テーブルの各行について、各(key, value)
data
からのペア 列はその行にのみ結合されるため、元の行とjson
から形成された行との関係 オブジェクトは維持されます。
テーブルq
非常に複雑なサブクエリ(またはVALUES
)になることもあります。 あなたの質問のように、条項)。関数では、そのサブクエリの評価結果から適切な列が使用されるため、サブクエリのエイリアスとサブクエリの(のエイリアス)列への参照のみを使用します。