こんにちは、
この質問のようにCASEを使用して、行を列に転置しようとしています。
ただし、私の場合、データの数である情報を含む列がありません。
このクエリでデータを取得します。
select MA, SN, count(*)
from Original
where MA = 'AB'
group by MA
クエリの結果:
MA SN COUNT
AB TEXTA 6
AB TEXTB 5
AB TEXTC 3
AB TEXTD 4
テーブルオリジナル
MA SN
AB TEXTA
AB TEXTA
AB TEXTA
AB TEXTA
AB TEXTA
AB TEXTA
.
.
.
AB TEXTD
AB TEXTD
テーブル結果:
MA TEXTA TEXTB TEXTC TEXTD
AB 6 5 3 4
そして、これは私の現在のクエリです:
select MA,
count(*) as 'COUNT2',
MAX(CASE WHEN SN = 'TEXTA' THEN COUNT2 end) as TEXTA1,
MAX(CASE WHEN SN = 'TEXTB' THEN COUNT2 end) as TEXTB1,
MAX(CASE WHEN SN = 'TEXTC' THEN COUNT2 end) as TEXTC1,
MAX(CASE WHEN SN = 'TEXTD' THEN COUNT2 end) as TEXTD1,
from Original
where MA= 'AB'
group by MA
クエリでひどく間違っているのはなぜですか。そして、誰かが私が投稿した質問でそれが機能するがカウントでは機能しない理由を説明できますか?ありがとうございました!:)。