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

UNPIVOT mysql dane do innej tabeli

Musisz UNPIVOT Twoje dane. MySQL nie ma wbudowanej funkcji do tego, więc będziesz musiał użyć wielu zapytań.

INSERT INTO `monthlydata` (`id`, `year`, `monthName`, `stat_id`, `cat_id`, `data`) VALUES
SELECT id, year, 'January', stat_id, cat_id, January
    FROM monthly WHERE monthName = 'January'
UNION ALL 
SELECT id, year, 'February', stat_id, cat_id, February
    FROM monthly WHERE monthName = 'February'
UNION ALL 
SELECT id, year, 'March', stat_id, cat_id, March
    FROM monthly WHERE monthName = 'March'
.....

ID kolumna tutaj może powodować problemy. W zależności od tego, jak to zdefiniowałeś. Jeśli jest generowany automatycznie, możesz go usunąć z WSTAWKI i pozwolić, aby był generowany automatycznie. Ponieważ będziesz mieć wiersze dla wszystkich miesięcy z tym samym ID , musisz obsłużyć ten scenariusz.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Niewrażliwy na wielkość liter, ale wrażliwy na akcenty UTF8 Unikalny klucz

  2. Arabski problem z konwersją php mysql utf-8

  3. Najlepszy sposób na aktualizację rekordów w MySQL z kanału XML

  4. MySQL — jak uzyskać trafne wyniki wyszukiwania

  5. Zapytanie PHP PDO MySQL LIKE -> wiele słów kluczowych