Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Select
Forum PHP.pl > Forum > Bazy danych > MySQL
tomekn
Witam
Mam mały problem selectem.
Mianowicie mam tabelę w postaci:

id, rodzaj_zajec, kierunek, nazwa_pliku, dotyczy
1, matematyka, tech, plik_rok_1.doc, Tech
2, matematyka, tech, plik_rok_2.doc, Tech
3, matematyka, tech, plik_rok_3.doc, Tech
4, matemetyka, tech, plik_rok_4.doc, Tech
5, fizyka, tech, plik_rok_1.doc, Tech
6, fizyka, tech, plik_rok_2.doc, Tech
7, fizyka, tech, plik_rok_3.doc, Tech
8, fizyka, tech, plik_rok_4.doc, Tech

Zależy mi na tym aby wyświetlić wynik w takiej postaci

rodzaj_zajęc, rok1, rok2, rok3, rok4
matematyka, plik_rok_1.doc, plik_rok_2.doc, plik_rok_3.doc, plik_rok_4.doc

Jak powinien wyglądać select który w taki sposób zaprezentuje mi dane.
Dzięki za wszystkie uwagi.
kefirek
  1. SELECT *, GROUP_CONCAT(nazwa_pliku) AS plik FROM nazwa_tabeli GROUP BY rodzaj_zajec
tomekn
OK zapytanie jest dobre tylko jak zrobić żeby każdy z plików był w oddzielnej kolumnie.
kefirek
Tak się chyba nie da ale możesz użyć explode" title="Zobacz w manualu PHP" target="_manual do oddzielenia wyrazów
tomekn
Explode jest OK ale problem pojawia się w momencie gdy w bazie jeden z plików (np.: plik_rok_4.doc) nie jest dodany.

Wtedy mam coś takiego że w kolumnie dla rok3 mam plik z rok4
Np.:

rodzaj_zajęc, rok1, rok2, rok3, rok4
matematyka, plik_rok_1.doc, plik_rok_2.doc, plik_rok_4.doc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.