Получить имя столбца на основе значения столбца динамически - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть таблица с «Имя пользователя», «Бренд» и «Значение» в качестве столбцов. Каждый менеджер и его партнеры отвечают за максимум 3 бренда, и эти бренды могут меняться от менеджера к менеджеру. Прямо сейчас имя пользователя, марка и их стоимость представлены в формате строки, как показано ниже.

           User Name    Brand Name  Value
             User 1             Puma    10
             User 1            Adidas   20
             User 1             Nike    30
             User 2             Puma    40
             User 2           Adidas    50
             User 2             Nike    60
             User 3             Puma    70
             User 3           Adidas    80
             User 3             Nike    90  

Используя «случай-случай», я добился ниже, но проблема в том, что эти бренды могут меняться в зависимости от менеджера. Пример. Менеджер -1 может отвечать за Puma, Nike, Adidas, но менеджер -2 может отвечать за бренды X, Y, Z.

            User Name   Brand -1    Brand -2  Brand -3
             User 1       10      20        30
             User 2       40      50        60
             User 3       70      80        90

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

Для менеджера - 1

            User Name   PUMA      ADIDAS      NIKE
             User 1          10    20              30
             User 2          40    50              60
             User 3          70    80              90

Для менеджера -2

            User Name    X      Y       Z
             User 1          10    20       30
             User 2          40    50       60
             User 3          70    80       90

Я хочу, чтобы в качестве столбцов динамически использовались три фактические торговые марки, а не Марка-1, Марка-2, Марка -3. Я могу жестко закодировать эти названия брендов, но, как я уже сказал, они могут варьироваться от менеджера к менеджеру, но одновременно один менеджер.

1 Ответ

0 голосов
/ 30 апреля 2019

Поворот может быть достигнут несколькими способами,

1) используя функцию поворота 2) используя функцию XML 3) динамические SQL 4) с помощью курсоров

Предполагая, что вы используете базу данных Oracle SQL, все вышеперечисленное может быть применимо, пожалуйста, узнайте больше о вышеизложенном. Если иное, немногие из вышеперечисленных будут применимы вместе с другими опциями в отношении вашего инструмента базы данных.

...