電子書籍の厳選無料作品が豊富!

Oracle クエリ

元テーブル
R1  R2
A  リンゴ
A  イチゴ
B  マンゴ
C  イチゴ
C  マンゴ

この形のテーブルを

R1 リンゴ イチゴ マンゴ
A   1   1
B           1
C       1   1

変更したです。 オラクルSQLを使って、
ちなみに ORACLE 10G です。
宜しく御願いします。

A 回答 (2件)

これでどうでしょうか?



select
A.R1 as R1,
sum(A.リンゴ) as リンゴ,
sum(A.イチゴ) as イチゴ,
sum(A.マンゴ) as マンゴ
from
(select
R1,
nvl(decode(R2,'リンゴ',1,0),0) as リンゴ,
nvl(decode(R2,'イチゴ',1,0),0) as イチゴ,
nvl(decode(R2,'マンゴ',1,0),0) as マンゴ
from 元テーブル
) A
group by A.R1;
    • good
    • 0

with aaa as(


select
R1
,case R2 when 'リンゴ' then '1' else '' end as ringo
,case R2 when 'イチゴ' then '1' else '' end as itigo
,case R2 when 'マンゴ' then '1' else '' end as mango
from tbl
)
select R1,max(ringo),max(itigo),max(mango) from aaa
group by R1
order by R1
    • good
    • 0
この回答へのお礼

ありがとうございました。
うまくできました。

お礼日時:2010/02/22 11:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!