PLSQL Запрос одной переменной и разбиение на два столбца

Итак, у меня есть таблица Table1 с двумя столбцами, Product и индикатором.

Table1

Product    Indicator
Product 1     Y
Product 1     Y
Product 1     Y
Product 1     N
Product 1     N
Product 2     Y
Product 2     Y
Product 2     Y
Product 2     Y
Product 2     Y

и я хочу иметь возможность выполнить запрос, чтобы показать результаты, подобные этому

            Indicator = Y   Indicator = N
Product 1        Y               Y
Product 2        Y               N

Заранее спасибо!:)

1 ответ

Решение

Нет необходимости в PL/SQL, это можно сделать с помощью простого SQL, используя условное агрегирование.

select product, 
       case 
         when count(case when indicator = 'Y' then 1 end) > 0 then 'Y'
         else 'N'
       end as "Indicator = Y",
       case 
         when count(case when indicator = 'N' then 1 end) > 0 then 'Y'
         else 'N'
       end as "Indicator = N"
from table1
group by product
order by product;
Другие вопросы по тегам