sql >> Database teknologi >  >> RDS >> Mysql

Mysql MySQL eller PHP Transformer rækker til to kolonner dynamisk

Det fungerer på samme måde som FS_amount , skal du blot tilføje de nye kolonner til din kode, der genererer de dynamiske kolonner:

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;

Du bør se på den kode, sætningerne skaber (f.eks. ved midlertidigt at tilføje en select @sql; ), selvom det burde være ret ligetil at tilføje endnu flere kolonner, hvis du får brug for dem.




  1. MySQL Deltag, hvor det ikke findes

  2. Er der en måde at opretholde et db-forhold på (pk/fk) i følgende scenarie

  3. Hvordan ændrer jeg db-skema til dbo

  4. SQL Server Index Baglæns Scan:Forståelse og justering af ydeevne