Извлечение данных из столбца с несколькими данными в SQL - PullRequest
0 голосов
/ 28 августа 2018

Я создаю таблицу лидеров продаж в HOLISTICS, а столбец " user_id " представляет собой столбец с несколькими данными.

Вот снимок столбца "user_id":

enter image description here

Мне нужно показать часть имени пользователя. Я пытался использовать CONVERT и даже JSON_VALUE, но оба не были признаны Holistics.

Я использовал CAST, но все равно user_id находится в числовой форме.

Вот мой код:

enter image description here

А вот и вывод данных:

enter image description here

Можете ли вы помочь мне узнать, что нужно сделать, чтобы показать настоящее имя продавца?


Я новичок здесь, и это мой первый пост, поэтому все мои снимки приведены в виде ссылки.

1 Ответ

0 голосов
/ 28 августа 2018

Чтобы выбрать конкретное поле из данных JSON (а JSON - это то, что вы имеете в столбце user_id), попробуйте эту комбинацию:

SELECT 
  JSON_UNQUOTE(JSON_EXTRACT(user_id,'$.id')) as id
  JSON_UNQUOTE(JSON_EXTRACT(user_id,'$.name')) as user_name
FROM public.deals

Это должно вернуть идентификатор пользователя и имя из вашего столбца JSON.

Какое бы программное обеспечение вы ни использовали, оно, вероятно, ожидает, что данные будут извлечены в формате строка-столбец , поэтому вам просто нужно поиграть с запросом SQL, чтобы он возвращал правильно отформатированные данные. И поскольку у вас есть JSON в столбце user_id (что кажется странным, но не имеет значения), комбинация JSON_EXTRACT, JSON_UNQUOTE и, возможно, CAST должна помочь.

Но имейте в виду, что выполнение DISTINCT на большом столе с использованием этих методов может быть медленным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...