MYSQL Transpose查询复杂

时间:2015-08-26 06:53:29

标签: mysql

我有这张桌子

|periode | prodi | jml_mhs |

|2009-2010 | TIF     | 390      |   
|2010-2011 | SIF     | 240      |   
|2011-2012 | TIN     | 160      |   

我希望将我的桌子转移到

|periode   | TIF   |  SIF | TIN |

|2009-2010 | 390   | 0    |0   
|2010-2011 | 0     | 240  |0   
|2011-2012 | 0     | 0    |160 

我该怎么做?

1 个答案:

答案 0 :(得分:0)

这可以使用以下技术为已知数据集完成,在您的情况下,prodi

select 
periode,
max(case when prodi = 'TIF' then jml_mhs else 0 end ) as `TIF`,
max(case when prodi = 'SIF' then jml_mhs else 0 end ) as `SIF`,
max(case when prodi = 'TIN' then jml_mhs else 0 end ) as `TIN`
from table_name
group by periode