Возвращает имя столбца и отдельное значение в каждом столбце MySQL - PullRequest
1 голос
/ 28 мая 2020

У меня несколько столбцов, и я хочу создать динамический c запрос, который может возвращать имя столбца и каждое из их отдельных значений. Я хочу сделать это в MySQl

Итак, если у меня есть только 2 столбца:

  1. Пол, который имеет мужской и женский
  2. Purchase_Frequency с низким, средним и Высокий

В этом случае результат должен быть

Entity                Unique_value
gender                 Male
gender                 Female
Purchase_Frequency     Low
Purchase_Frequency     Medium
Purchase_Frequency     High

Я нашел похожие вопросы, но мне это не очень помогло

Возвращает имя столбца и различные значения

Возвращать имена столбцов и количество их различных значений в MySQL

1 Ответ

0 голосов
/ 28 мая 2020

Вы можете использовать union all:

select distinct 'gender' entity, gender unique_value from mytable
union all
select distinct 'purchase_frequency', purchase_frequency from mytable

Обратите внимание, что union all требует, чтобы подзапросы возвращали столбцы с одинаковым типом данных. Хотя здесь это сработает (поскольку все столбцы кажутся строковыми), об этом следует помнить, если вам когда-либо понадобится расширить этот запрос дополнительными столбцами (может потребоваться явное приведение типов).

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