Oracle
 sql >> база данни >  >> RDS >> Oracle

SQL редове в колони

Не можете да постигнете това с транспониране. по-скоро опитайте да използвате natural full outer join

WITH T
    AS (SELECT
             P.*,
             ROW_NUMBER ( )
                 OVER (PARTITION BY PERSON, LEVELS ORDER BY LANGUAGE)
                 R
        FROM
             PROGRAMMER P)
SELECT
      PERSON,
      SENIOR,
      MID,
      JUNIOR
FROM
      (SELECT
            PERSON,
            R,
            LANGUAGE SENIOR
       FROM
            T
       WHERE
            LEVELS = 'SENIOR')
      NATURAL FULL OUTER JOIN (SELECT
                                PERSON,
                                R,
                                LANGUAGE MID
                          FROM
                                T
                          WHERE
                                LEVELS = 'MID')
      NATURAL FULL OUTER JOIN (SELECT
                                PERSON,
                                R,
                                LANGUAGE JUNIOR
                          FROM
                                T
                          WHERE
                                LEVELS = 'JUNIOR');

Получавате

PERSON          SENIOR               MID                  JUNIOR              
--------------- -------------------- -------------------- --------------------
CARL            JAVA                 PHP                  VB.NET              
GARY                                 C#                                       
GARY                                 VB.NET                                   
RALPH           JAVASCRIPT                                RUBY                
RALPH           PHP                                                           

5 rows selected.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Извършване на групови актуализации със съхранени процедури MyBatis и Oracle

  2. Oracle автоматично вмъква запис в блок с множество записи, част 2

  3. Използване на изрази WITH и UPDATE в една и съща SQL заявка

  4. Скриптът SQL*Plus се изпълнява два пъти

  5. Как да попълня липсващите дати по групи в Oracle