Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Mysql MySQL lub PHP Przekształć wiersze w dwie kolumny dynamicznie

Działa tak samo jak FS_amount , po prostu dodaj nowe kolumny do kodu, który generuje kolumny dynamiczne:

  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;

Powinieneś spojrzeć na kod, który tworzą instrukcje (np. przez tymczasowe dodanie select @sql; ), chociaż dodanie jeszcze większej liczby kolumn powinno być całkiem proste.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Docker nie może połączyć aplikacji z MySQL

  2. rzucić ciąg na czas sql

  3. Jak debugować zapytanie w extbase?

  4. Operator „<” jest zarezerwowany Błąd programu PowerShell

  5. Przydatne wskazówki dotyczące rozwiązywania typowych błędów w MySQL