JSON mySQL merge

столкнулся с такой проблемой.

Имею JSON массив в mySQL

[{"tags": "3A91DE97-11EE-4821-872E-F4CA8E3F24FB", 
  "phone": "88005553535", 
  "comment": "Какой-то коммент"}, 
 {"tags": "011C83E0-5BC9-46B3-8EC0-D57BE4DC33EF", 
  "phone": "84954445353", 
  "comment": "Какой-то коммент 2"}]

tags - GUID из другой таблицы

phone - номер телефона

comment - комментарий

Такой вопрос, как создать такое объединение, которое заменит мне tags на data из таблицы tags по GUID, который есть в этом поле

На данный момент сделал такой вариант:

    SELECT
    JSON_REPLACE(p.phones, JSON_UNQUOTE(JSON_SEARCH(p.phones,'one', t.guid,NULL,'$[*].tags')) ,t.data) AS phones
FROM
    phonebook p
        LEFT JOIN tags t ON
        JSON_SEARCH(
                p.phones,
                'one',
                t.guid,
                NULL,
                '$[*].tags'
            ) IS NOT NULL

Но по итогу получаю немного не то, что я бы хотел, он дублирует строки. Вот что я получаю в ответ

[{"tags": "3A91DE97-11EE-4821-872E-F4CA8E3F24FB", 
  "phone": "88005553535", 
  "comment": "Какой-то коммент 1"}, 
 {"tags": [{"text": "Текст тега от 011C83E0-5BC9-46B3-8EC0-D57BE4DC33E", 
            "color": "blue"}], 
  "phone": "84954445353", 
  "comment": "Какой-то коммент 2"}]

А хотелось бы получить

[{"tags": [{"text": "Текст тега от 3A91DE97-11EE-4821-872E-F4CA8E3F24FB", 
            "color": "blue"}], 
  "phone": "88005553535", 
  "comment": "Какой-то коммент 1"}, 
 {"tags": [{"text": "Текст тега от 011C83E0-5BC9-46B3-8EC0-D57BE4DC33E", 
            "color": "blue"}], 
  "phone": "84954445353", 
  "comment": "Какой-то коммент 2"}]

Надеюсь понятно объяснил)


Ответы (0 шт):