Создайте определяемый пользователем массив JSON с ключами / значениями, определенными из SELECT id, name FROM accounts table

MariaDB поддерживает JSON:

SET @arr := JSON_ARRAY("a123", 20, 30);
SELECT JSON_EXTRACT(@arr, '$[0]');

Мне нужно создать ассоциативный массив для последующего использования @arr[2] выбрать имя владельца счета (@arr[2] = 'Мэри' ниже) позже в подготовленном заявлении.

Как мне...

  1. Итерировать по таблице с именем accounts для создания массива JSON, в котором каждому индексу присваивается accounts.id значение столбца и соответствующее значение присваивается значению?

В качестве примера приведен запрос на извлечение необходимых мне данных из accounts Таблица:

SELECT id, name FROM accounts ORDER BY id ASC;

Однако я понятия не имею, как создать массив JSON из SELECT запрос.

  1. Как мне SELECT значение на основе пронумерованного ключа?

У меня проблемы, потому что в большей части документации используются значения без ключей. Мне нужно явно определить значения и ключи.

SET @arr = '{1:"A"}';
SELECT JSON_ARRAY_APPEND(@arr, 2, "B");

У меня также возникли проблемы с попыткой извлечь значение из массива с помощью определенного ключа:

SET @arr = '{"1":"John","2":"Mary","3":"Sam"}';
SELECT JSON_EXTRACT(@arr, '$[1]');

0 ответов

Другие вопросы по тегам