1

mysqlテーブルに次の形式のデータがあります

C1 | C2 | C3 (Column titles)  
A1 | X1 | Y1  
A1 | X2 | Y2  
A1 | X3 | Y3  
B1 | X1 | Y4  
B1 | X2 | Y5  
B1 | X3 | Y6  
B1 | X4 | Y7  
C1 | X1 | Y8  
C1 | X2 | Y9  

これをに変換したい

00 | X1 | X2 | X3 | X4  
A1 | Y1 | Y2 | Y3 |   
B1 | Y4 | Y5 | Y6 | Y7  
C1 | Y8 | Y9

ピボットテーブルによく似ていますが、操作(Sum / Avgなど)を実行するのではなく、Yxの実際の値をテーブルに配置します。

mysqlまたはexcel/libreofficeでこれを行う簡単な方法はありますか?

ありがとう

4

1 に答える 1

2

SQLFiddleデモ

select 
C1,
max(case when c2='X1' then C3 else '' end) as `X1`,
max(case when c2='X2' then C3 else '' end) as `X2`,
max(case when c2='X3' then C3 else '' end) as `X3`,
max(case when c2='X4' then C3 else '' end) as `X4`

from t
group by C1
于 2013-01-17T12:32:59.070 に答える