
以下の様なデータがあります。
氏名 科目 得点
1行目 Aさん 国語 100
2行目 Bさん 国語 90
3行目 Aさん 英語 80
これを以下の様な表にしようと思い、
氏名 国語 英語
Aさん 100 80
Bさん 90 -
以下のSQL分を書きましたが、Aさんの得点が2倍になってしまいます。
SELECT SL.氏名
,SUM(KT.得点) AS '国語'
,SUM(ET.得点) AS '英語'
FROM [test_db].[dbo].[得点データ] SL
LEFT OUTER JOIN (
SELECT * FROM [test_db].[dbo].[得点データ]
WHERE 科目='国語'
) KT ON ( KT.氏名 = SL.氏名 )
LEFT OUTER JOIN (
SELECT * FROM [test_db].[dbo].[得点データ]
WHERE 科目='英語'
) ET ON ( ET.氏名 = SL.氏名 )
GROUP BY SL.氏名
原因として、グループ化が結合の後にしているのだと考えています。
どの様に修正したら、いいでしょうか?

No.1ベストアンサー
- 回答日時:
select
氏名
,sum(case when 科目 = '国語' then 得点 else null end) as 国語
,sum(case when 科目 = '英語' then 得点 else null end) as 英語
from 得点データ
group by 氏名;
でいいのでは?
2005以降ならpivotを使ってもいいのかもしれません。
自分では全く使ったことが無いというかSQLServerの環境自体が無いので書き方は分かりませんが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「台」の旧字「臺」の、更に違...
-
「初め」か「始め」どちら?
-
漢字でまともに書けない苗字が...
-
この文字の変換方法を教えて
-
「時間がたつ」の「たつ」は、...
-
「~していただきまして、あり...
-
”ギリギリ” を丁寧に言うには
-
「お客様お一人おひとり」と書...
-
「皆んな」という表記に違和感...
-
対策を採る?取る?
-
住所の「字(あざ)」の英文表...
-
「個」「ケ」「コ」の表現はど...
-
「取組」と「取り組み」の違い
-
幸に、しんにょうの字の出し方...
-
文章で対象者を「人」というか...
-
文章にする時、ひらがなの「と...
-
「50万円を超える」は50万円以...
-
トイレの「流す」ボタンは「大...
-
「所要時間は1時間程度です」は...
-
「基」と「元」の使い方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「初め」か「始め」どちら?
-
この文字の変換方法を教えて
-
「時間がたつ」の「たつ」は、...
-
”ギリギリ” を丁寧に言うには
-
「~していただきまして、あり...
-
「お客様お一人おひとり」と書...
-
対策を採る?取る?
-
次頁はなんと読みますか?
-
「基」と「元」の使い方
-
「取組」と「取り組み」の違い
-
「所要時間は1時間程度です」は...
-
「50万円を超える」は50万円以...
-
文章で対象者を「人」というか...
-
奥さんと同じ布団で寝ると勃起...
-
木へんに夕に卩ってどう読みま...
-
エクセルでセルの中身が漢字か...
-
魚へんの下の点々が大
-
相手の氏名の漢字表記をたずね...
-
ひらがなの「みなさん」と漢字...
-
文章にする時、ひらがなの「と...
おすすめ情報