Если вас» используя динамический SQL, вам необходимо предварительно определить несколько столбцов.
Если вы довольны 4, вы можете просто присоединиться к таблице 4 раза.
Или ...
WITH rankedResults AS (
SELECT
number
,name1
,RANK() OVER (PARTITION BY number ORDER BY name1) as rank
FROM table1
)
WITH diagonalResults (
SELECT
number
,CASE WHEN rank = 1 THEN name1 END AS name1
,CASE WHEN rank = 2 THEN name1 END AS name2
,CASE WHEN rank = 3 THEN name1 END AS name3
,CASE WHEN rank = 4 THEN name1 END AS name4
FROM rankedResults
)
SELECT
number
,MAX(name1) AS name1
,MAX(name2) AS name2
,MAX(name3) AS name3
,MAX(name4) AS name4
FROM diagonalResults
GROUP BY number
Google: 'Oracle стержень column' – sagi
пожалуйста, напишите то, что вы пробовали. Это, похоже, не является стандартным стержнем. –