2017-02-23 77 views
-4

如何在oracle中執行以下操作?如何在Oracle中將多行組合成單行?

輸入

id units unit_description 
12 20  kWh 
12 50  kWh 
12 100 days 
15 80  kWh 

欲合併在柱2和3根據第1列到一個單列。其結果應該是像

輸出:

id | unit details 
12 70 KWh , 100 days 
15 80 KWh 
+0

到目前爲止你做了什麼?你可以從學習小組開始。 – Nitish

回答

1

檢查下面的查詢。大多數情況下它應該適用於你的情況。它可能不會立即執行,根據您的要求進行修改。

 
SELECT id, 
     LISTAGG (unit || ' ' || unit_description, ', ') 
      WITHIN GROUP (ORDER BY unit, unit_description) 
    FROM ( SELECT id, unit_description, SUM (unit) AS unit 
       FROM table1 
      GROUP BY id, unit_description) 
GROUP BY id; 
+0

謝謝你,Rakesh,它工作! – NPK