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. MySQLを過小評価していますか?

    2. Javaのselectクエリにプリペアドステートメントを使用するにはどうすればよいですか?

    3. Postgres以外のデータベースには、外部データラッパーに匹敵する機能がありますか?

    4. MariaDBで値に少なくとも1桁の数字が含まれているかどうかを検出する方法