2017-02-23 7 views
-4

私は以下のどのようにOracleで行うことができますか?欲しいOracleでは複数の行を1つの行に結合する方法は?

入力

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

は、単一の行に1列に基づいてカラム2及び3で合流しました。そして、結果は

出力のようにする必要があります:

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

関連する問題