2017-11-27 40 views
1

は、私はこのsql apache derbyは分離/結合複製? (ピボットクエリ)

problem need to solve

私はそれをどのように行うことができますようにテーブルを持っていますか? THX

+2

[ask]をお読みください。 –

+0

イメージを使用しないでください。テキストが優先されますが、イメージが示すのは、 "ピボットクエリ"が必要なことです。それのために –

答えて

2

アパッチDerbyは私の知る「ピボット」機能を持っていないが、それは(「条件付き凝集体」として知られている)場合の式を含む標準的な集約関数を使用して列に趣味を配置するために使用することができるrow_number()を提供しません

SELECT 
     name 
    , MAX(CASE WHEN rn = 1 THEN hobby END) Hobby1 
    , MAX(CASE WHEN rn = 2 THEN hobby END) Hobby2 
    , MAX(CASE WHEN rn = 3 THEN hobby END) Hobby3 
    , MAX(CASE WHEN rn = 4 THEN hobby END) Hobby4 
    , MAX(CASE WHEN rn = 5 THEN hobby END) Hobby5 
FROM (
     SELECT 
      name 
      , hobby 
      , row_number() OVER (PARTITION BY NAME ORDER BY hobby) AS rn 
     FROM T 
    ) d 
WHERE rn <= 5 
GROUP BY 
     d.name 
; 
+0

thx。 ; D – user7112196