データベースにクエリを実行し、同じフィールドから複数の列を持つ結果を返そうとしています。
私のデータベースのデータは次のようになります。
id, price, cost, description, color
--------------------------------------------------------------
10, 99, 50, bicycle, blue
15, 88, 45, tricycle, red
18, 90, 48, tricycle, blue
20, 95, 55, bicycle, red
次のように、各タイプの色を「青」または「赤」として表す複数の列と、その ID、価格、コスト、および説明を返す結果を返すクエリを作成しようとしています。
Blue, id, price, cost, description, Red, id, price, cost, description
blue, 10, 99, 50, bicycle, red, 15, 88, 45, tricycle
blue, 18, 90, 48, tricycle, red, 20, 95, 55, bicycle
ポイントは、データを並べて表示できるようにすることです。データが Excel にあれば、ピボット テーブルで簡単にこれを行うことができますが、SQL クエリを使用してこれを達成しようとしています。
私が提供できる他の情報があれば教えてください。
*
したがって、以下のコメントを確認して、現在作業している実際のコードを含める方がよいのではないかと考えています。
私の問題: 1 つのクエリで両方の select ステートメントの結果が必要ですが、その方法がわかりません。したがって、合計で7つの列があります
等級コード、休業損害件数、休業損害、損害保険金平均、医療のみの保険金請求件数、医療のみの保険金請求、医療のみの保険金請求平均
select distinct cm.class_code, count(cm.class_code) as "Lost Time Claim Count",
round(sum(cf.Incurred_Total),0) as "Lost Time Incurred Loss",
round((sum(cf.Incurred_Total)/count(cm.class_code)),0) as "Lost Time Claim Average",
cm.claim_type_group
from claim_master cm left outer join
claim_financial_view cf on cm.claim_master_id = cf.Claim_Master_Id
where cm.accident_date > to_date('31-Dec-2007','dd-mm-yyyy') and
cm.accident_date < to_date('01-Jan-2013','dd-mm-yyyy') and
cm.claim_type_group = 'L'
group by cm.class_code,
cm.claim_type_group
Order by cm.class_code
__
select distinct cm.class_code, count(cm.class_code) as "Medical Only Claim Count",
round(sum(cf.Incurred_Total),0) as "Medical Only Incurred Loss",
round((sum(cf.Incurred_Total)/count(cm.class_code)),0) as "Medical Only Claim Average",
cm.claim_type_group
from claim_master cm left outer join
claim_financial_view cf on cm.claim_master_id = cf.Claim_Master_Id
where cm.accident_date > to_date('31-Dec-2007','dd-mm-yyyy') and
cm.accident_date < to_date('01-Jan-2013','dd-mm-yyyy') and
cm.claim_type_group = 'M'
group by cm.class_code,
cm.Claim_Type_Group
Order by cm.class_code