Для отображения записи с несколькими значениями в таблице в postgres - PullRequest
0 голосов
/ 25 мая 2018

Требуемый вывод-

Emp_name|Hobbies|age|DOB
______________________________
LOPEZ        |Football , Swimming , Fishing |19| 1999-05-11

Здесь, в вопросе, столбец Хобби содержит несколько записей с запятой отдельно, НО я хочу в ОДИНОЧНОЙ строке (по вертикали).Все записи для хобби должны быть одной записью, например, несколько значений в одной записи.И последнее отображение в одной строке.

Пожалуйста, помогите мне создать таблицу и способ вставки и извлечения записи в базе данных postgres.

1 Ответ

0 голосов
/ 26 мая 2018

Итак, мы хотим переформатировать вашу строку «хобби» в массив.Вы можете использовать функцию ARRAY_AGG ():

    CREATE TABLE new_hobbies AS
    SELECT
        name 
        , age 
        , DOB 
        , ARRAY_AGG(hobbies) AS hobbies
    FROM table
    GROUP BY
        name
        , age
        , dob 

Но да, я согласен с ответом Sticky Bit, что нормализация этой таблицы будет хорошей идеей.А также не имея значения возраста - чтобы избежать проблем с обновлениями.

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