ホームページ  >  に質問  >  本文

複数の入れ子になった配列値の JSON を 1 つの SELECT ステートメントで置き換える方法

values という名前のテーブル フィールドがあり、その現在の JSON 値は次のとおりです:

{"役割": ["1","2","3","4"]}

次のような roles という名前の別のテーブルがあります

###ファイナンス### 34 ###会計士### JSON_REPLACE 関数を使用して、
id ロール名
1 管理者
2
給与計算
values

JSON 文字列の ID 番号をロール名に置き換えてみました。 基本的に結果は次のようになります

{"役割": ["管理者","財務","給与","アカウント"]}

しかし、JSON_REPLACE('["1","2","3","4"]', '$[0]', Admin, '$[1] のようにはできません'、Finance)

JSON_REPLACE

を使用するのと同じです。ID とロール名の数が異なる可能性があるため、単一の SELECT ステートメントでこれを行う方法を知る必要があります。

P粉587780103P粉587780103205日前396

全員に返信(1)返信します

  • P粉340980243

    P粉3409802432024-03-29 09:20:42

    json_table を使用できます:

    リーリー

    フィドルを参照。

    返事
    0
  • キャンセル返事