Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Tabela przestawna - zapytanie MYSQL
graba11
post 31.01.2020, 09:00:52
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 28.01.2020

Ostrzeżenie: (0%)
-----


Witam. Posiadam bazę danych z kolumnami:

imieinazwiskopracownika, budowa, rodzaj pracy, liczba godzin, data pracy

Chcę zbudować zapytanie do tej bazy aby powstała tabela przestawna. Mam coś takiego:

  1. SET @sql = NULL;
  2. SELECT
  3. GROUP_CONCAT(DISTINCT
  4. CONCAT(
  5. 'MAX(IF(datapracy = ''',
  6. datapracy,
  7. ''', liczbagodzin, NULL)) AS "',
  8. datapracy,'"'
  9. )
  10. ) INTO @sql
  11. FROM wp_wpdatatable_1_1 WHERE datapracy BETWEEN "2020-01-01" AND "2020-01-31";
  12.  
  13. SET @sql = CONCAT("SELECT imieinazwiskopracownika, ", @sql, " FROM wp_wpdatatable_1_1 WHERE budowa = 'Lodowisko' GROUP BY imieinazwiskopracownika");
  14.  
  15. PREPARE stmt FROM @sql;
  16. EXECUTE stmt;
  17. DEALLOCATE PREPARE stmt;


I to działa bez zarzutu na lokalnym komputerze z xampp - powstaje tabela której potrzebuję. Gdy używam tego na serwerze (hosting) pojawia się błąd:
  1. Zapytanie SQL:
  2.  
  3. PREPARE stmt FROM @sql
  4. MySQL zwrócił komunikat: Dokumentacja
  5.  
  6. #1064 - Something is wrong in your syntax obok 'FROM wp_wpdatatable_1_1 WHERE budowa = 'Lodowisko' GROUP BY imieinazwiskopracown' w linii 1


Nie mam pojęcia jak to poprawić, żeby zadziałało na hostingu. Proszę o pomoc.

Jeszcze dodatkowe pytanie - jak utworzyć widok z tego zapytania?

EDIT:
Okazało się, że problem leży w:

  1. ]SHOW VARIABLES LIKE '%group_concat_max_len%';
  2. +----------------------+-------+
  3. | Variable_name | Value |
  4. +----------------------+-------+
  5. | group_concat_max_len | 1024 |
  6. +----------------------+-------+

rozwiązaniem jest użycie:

  1. SET SESSION group_concat_max_len =10000;


Nadal jednak utknąłem z problemem jak z tego stworzyć widok mysql. Proszę o pomoc.

Ten post edytował graba11 31.01.2020, 09:01:39
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 13:15