Задать вопрос
@ivandao

Можно ли как-то динамически формировать pivot?

Можно ли как-то динамически формировать то что после FOR IN?

select * from (
   select times_purchased as "Puchase Frequency", state_code
   from customers t
)
pivot 
(
   count(state_code)
   for state_code in ('NY' as "New York",'CT' "Connecticut",'NJ' "New Jersey",'FL' "Florida")
)
order by 1


Вот эти значения
'NY' as "New York",'CT' "Connecticut",'NJ' "New Jersey",'FL' "Florida"
у меня хранятся в отдельной таблице cities, я могу их оттуда вытащить select'ом, поэтому не очень хочется в pivot'е писать их явно.

Пробовал такой запрос подставить после FOR:
SELECT
  LISTAGG( city , ',') WITHIN GROUP (ORDER BY ID) city
FROM cities

Oracle, естественно, его не сожрал.
Как можно сделать?

https://www.oracle.com/technical-resources/article...
  • Вопрос задан
  • 142 просмотра
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
TheRonCronix
@TheRonCronix
Не уверен, но скорее всего нет. Можно решить через динамический sql.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы