2017-05-24 5 views
-4

enter image description hereSQL GROUPとCASE文は、列に行を変換

列には、この行のように変換すること

+0

一部[MCVE](https://stackoverflow.com/ help/mcve)、CREATE TABLEとINSERT VALUESは本当に役に立ちます。 – KtX2SkD

+0

あなたが探しているのは 'ピボット'です。 [SQL Serverの[Pivot]を使用して列に行を変換する](https://stackoverflow.com/questions/15931607/convert-rows-to-columns-using-pivot-in-sql-server)はあなたの質問に対する答えです。 –

+0

列1は大文字と小文字を区別し、列2はいくつかの値をスキップします。同一の列1値に対して305が存在するので、304はスキップされる。 – KtX2SkD

答えて

0

してみてくださいどのようにこの

select model_cod, ver_num, 
sum(case when mod_cls in ('KM', 'KS') then cost else 0 end) as [KM/KS], 
sum(case when mod_cls ='PL' then cost else 0 end) as PL, 
sum(case when mod_cls ='PI' then cost else 0 end) as PI, 
sum(case when mod_cls in ('KM', 'KS', 'PL', 'PI') then cost else 0 end) as Total 
from yourtable 
group by model_cod, ver_num 
+0

エラー トークンの合計が無効です。有効なトークン:、from –

+0

「コスト」列の種類は何ですか?この列には常に数字が入りますか? – Esperento57

+0

ありがとうございました。 –