I want to transpose rows into columns in ms-access

前端 未结 3 489
太阳男子
太阳男子 2021-01-26 00:57

I need to transpose rows into columns in MS Access database, VBA, SQL both the codes are welcome.

Table

    | Name | Ticker | ID | Innovation | Quality |         


        
3条回答
  •  庸人自扰
    2021-01-26 01:44

    Is the data always the same set of field names and years? If so, you might be able to use a UNION query, something like:

    Select "Name" as [FName],  max(iif(year="2009",name))as [2009], max(iif(year="2010"
    ,name)) as [2010], max(iif(year="2011",name)) as [2011], max(iif(year="2012", name)) as [2012] from Table group by FName
    
    Union all Select "Ticker",  max(iif(year="2009",ticker)), max(iif(year="2010"
    ,ticker)), max(iif(year="2011",ticker)), max(iif(year=-"2012",ticker)) from Table group by FName
    
    Union all Select "ID",  max(iif(year="2009",id)), max(iif(year="2010"
    ,id)), max(iif(year="2011",is)), max(iif(year="2012",id)) from Table group by FName
    
    Union all Select "Innovation",  max(iif(year="2009",innovation)), max(iif(year="2010"
    ,innovation)), max(iif(year="2011",innovation)), max(iif(year=-"2012",innovation)) from Table group by FName
    
     Union all Select "Quality",  max(iif(year="2009",quality)), max(iif(year="2010"
    ,quality)), max(iif(year="2011",quality)), max(iif(year=-"2012",quality)) from Table group by FName
    

提交回复
热议问题