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;