下午好,
我试图在这个问题中使用 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
我在查询中做错了什么?有人可以解释为什么在我发布的问题中它有效但计数无效?谢谢!: )。