Как развернуть 2 столбца в 1 строку, используя строку 1 в качестве метки столбца и строку 2 в качестве значения

0

У меня есть 2 столбца данных со следующим макетом:

-------------
|Name|Count |
-------------
|Val1|Val1_2|
|Val2|Val2_2|
|Val3|Val3_2|
|Val4|Val4_2|
|Val5|Val5_2|

Однако я не уверен, как использовать функцию pivot, чтобы она выглядела так:

------------------------------------
|Val1  |Val2  |Val3  |Val4  |Val5  |
------------------------------------
|Val1_2|Val2_2|Val3_2|Val4_2|Val5_2|

Я понимаю, что должна использоваться какая-то агрегатная функция, однако я хочу, чтобы val1_2 и т.д. Оставались прежними.

Есть идеи? Я думаю, что это может быть просто, но я не могу понять это.

  • 0
    Вы используете оракул или MySQL?
  • 0
    Спасибо Лелио за редактирование. - Oracle - это версия, которую я использую
Теги:
pivot
oracle-sqldeveloper
pivot-table

1 ответ

0

если у вас есть только 5 столбцов, вы можете использовать ложную функцию агрегирования и регистр

      select  min(case when  Name ='Val1' then count end ) Val1
       , min(case when  Name ='Val2' then count end ) Val2
       , min(case when  Name ='Val3' then count end ) Val3
       , min(case when  Name ='Val4' then count end ) Val4
       , min(case when  Name ='Val5' then count end ) Val5 
     from my_table  
  • 0
    Работал нормально для меня и без необходимости использовать пивот, спасибо!
  • 0
    @LiamMorgan хорошо, если мой ответ правильный, пожалуйста, отметьте его как принятый ... (последние 15 минут) посмотрите, как здесь meta.stackexchange.com/questions/5234/…

Ещё вопросы

Сообщество Overcoder
Наверх
Меню