Zgodnie z dokumentacją Oracle, funkcja PIVOT
nie obsługuje pod-zapytania w klauzuli "IN
", ale jest możliwa w funkcji XML PIVOT
. E.g.Alternatywna metoda dla PIVOT - IN z obsługą zapytań podrzędnych
SELECT *
FROM table_name
PIVOT
(
SUM(column_name_1)
FOR [column_name_2] IN (['Output_Column1'],['Output_Column2'])
)
AS aliasName
Muszę zastąpić ['Output_Column1'],['Output_Column2']
za pomocą pod-zapytania.
Czy istnieje inna funkcja równoważna z PIVOT
, w której możemy dostarczyć zapytanie podrzędne zamiast ciągłego kodowania wszystkich kolumn wyjściowych lub nawet samej funkcji PIVOT
?.
Dzięki Marcin. Ale czy istnieje odpowiednia funkcja, taka jak PIVOT i spełniające powyższe kryteria (przy użyciu sub-zapytania)? –
@VijayKrish Mój komentarz dotyczył wszelkich zapytań SQL - nie można mieć zmiennej liczby kolumn, nie ma takiej opcji. Może wyjaśnij, co próbujesz osiągnąć. Dlaczego potrzebujesz czegoś takiego? –
Mój stół składa się z następujących coulmnów. Person_id, status, itp. –