Home > Blockchain >  Convert vertical table to horizontal in oracle
Convert vertical table to horizontal in oracle

Time:02-02

I have the following table format.

POLNO NAME PRM
12100 PRMA 161410
12100 PRMB 0
12100 PRMC 0
12100 PRMD 80

I need to convert this table to follow.

POLNO PRMA PRMB PRMC PRMD
12100 161410 0 0 80

Anyone have an idea how to do this?

CodePudding user response:

You may use pivoting logic:

SELECT
    POLNO,
    MAX(CASE WHEN NAME = 'PRMA' THEN PRM END) AS PRMA,
    MAX(CASE WHEN NAME = 'PRMB' THEN PRM END) AS PRMB,
    MAX(CASE WHEN NAME = 'PRMC' THEN PRM END) AS PRMC,
    MAX(CASE WHEN NAME = 'PRMD' THEN PRM END) AS PRMD
FROM yourTable
GROUP BY POLNO;
  •  Tags:  
  • Related