Как использовать JSON_REMOVE по нескольким записями из подзапроса?

Есть таблица с json в колонке data и таблица с ключами для удаления из json-полей первой таблицы. MySQL 5.7.

id data
1 {"key1": "value1", "key2": "value2", "key10": "value10", "key100": "value100"}
20 {"key1": "value1", "key18": "value18", "key150": "value150"}
57 {"key5": "value5", "key10": "value10"}
id key value
1 key1 value1
18 key2 value2
30 key150 value150

Необходимо удалить все элементы в полях data по ключам из второй таблицы Я пробовал JSON_ARRAYAGG(), но JSON_REMOVE() необходима "path[, path]"-структура с ключами согласно документации.

UPDATE `table1` as `t1`
SET `t1`.`data` =  JSON_REMOVE(`t1`.`data`, (
    SELECT JSON_ARRAYAGG(`key`)
    FROM `table2` as `t2`
    )
);

Как можно преобразовать возвращаемые записи в корректную структуру для JSON_REMOVE()?

Ожидаемая таблица:

id data
1 {"key10": "value10", "key100": "value100"}
20 {"key18": "value18"}
57 {"key5": "value5", "key10": "value10"}

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