2012-03-22 17 views
1

行を正しくマージする方法がわかりません。以下のサンプルの表を見てみると:oracle 10gのSQL行の圧縮

TYPE | NAME | COLOR | DESCRIPTION 
================================= 
Fruit | Apple | Red | -----  
Fruit | Apple | ----- | sweet  
Fruit | Orange | ----- | ripe 

私が何をしたいのか、同じタイプおよび名前の行は単一の行を持つことになり、その値は1行としてマージされるように、行1と2をマージです。

これを行う方法はありますか?

+0

どれくらい大きいか?したいようですねSQLだけではなく、何らかの種類のプログラミング言語で、ハッシュテーブルと多量の削除/更新が必要なことは確かです。 (私は永久にマージを意味すると仮定していますか?) – Corbin

+0

このデータセットがクエリによって返されたことを忘れました。行をマージする方法を理解できません。ユーザーの入力に基づいて列を拡張することもできます。 – RavenXV

+0

常に空で空でない行ですか、コンテンツをマージする必要がありますか? – Corbin

答えて

4

あなただけのデータセットが

SELECT type, 
     name, 
     MAX(color) color, 
     MAX(description) description 
    FROM table_name 
GROUP BY type, name;