Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Mysql MySQL ou PHP Transforme linhas em duas colunas dinamicamente


Funciona da mesma forma que FS_amount , basta adicionar as novas colunas ao seu código que geram as colunas dinâmicas:
  SELECT GROUP_CONCAT(DISTINCT CONCAT(
      'MAX(IF(month = ''',
      month,
      ''' and year(date) = ',
      year(date),
      ', FS_amount, NULL)) AS `',
      CONCAT('FA_',month),
      '_',
      year(date),
      '`, ', 
      'MAX(IF(month = ''',
      month,
      ''' and year(date) = ',
      year(date),
      ', AS_amount, NULL)) AS `',
      CONCAT('AS_',month),
      '_',
      year(date),
      '`'      
      )
    order by date
  ) INTO @sql
  FROM tmp_results;

Você deve dar uma olhada no código que as instruções criam (por exemplo, adicionando temporariamente um select @sql; ), embora deva ser bastante simples adicionar ainda mais colunas caso você precise delas.