Witam.
Posiadam bazę danych która ma następujący format.
Typ | Wersja | Kolor | Status | Typdefektu | Data&godzina | Ilość |
---|---|---|---|---|---|---|
Typ1 | Wersja1 | Czarny | OK | NULL | 2013-01-22 1532 | 1 |
Typ1 | Wersja1 | Bialy | NOK | Defekt1 | 2013-01-22 1520 | 50 |
Typ2 | Wersja1 | Czarny | OK | NULL | 2013-01-22 1530 | 1 |
Typ3 | Wersja1 | Czerwony | NOK | Defekt2 | 2013-01-22 1530 | 1 |
Szukam prostego rozwiązania na skonstruowanie zapytania które zwróciło by mi dane (PHP) w formie:
| | Defekt1 | Defekt2 | Defekt3 | Defekt4
Typ1 | | 2 | 2 | 0 | 5
| Czarny | 1 | 2 | 0 | 4
| Czerwony | 1 | 0 | 0 | 1
Typ2 | | 2 | 3 | 3 | 4
| Bialy | 1 | 1 | 1 | 3
| Czarny | 1 | 2 | 2 | 1
Wartości liczbowe w wierszu "Typ" przedstawiają sumę takich defektów dla danego typu.
Wartości liczbowe w wierszu danego koloru przedstawiają sumę takich defektów dla kombinacji Typ->Kolor.
Na chwilę obecną nie mam żadnego pomysłu jak tylko wypytywać każdą kombinację Typ->Kolor->Defekt oddzielnie, jednak takie rozwiązanie jest czasochłonne i nie wydaje się najbardziej optymalne.
Do tej pory używałem Excela i VBA gdzie takie wartości można w łatwy sposób wyciągnąć za pomocą kilku formuł jednak w miarę rozrastania się ilości typów, kolorów etc. plik zaczął zajmować 15Mb. Praca na pliku, który znajduje się na dysku sieciowym jest coraz wolniejsza.
Dlatego postanowiłem coś napisać w PHP i postawić na serwerze aby przyspieszyć działanie systemu. Z dotychczasowych działań wynika że jest on jeszcze wolniejszy od Excela :)
Macie jakieś propozycje bardziej skondensowanego zapytania, które pozwoliło by mi zwrócić wyniki w postaci pokazanej powyżej?
Jeśli wyraziłem się nie jasno z moim pytanie proszę o pytania uzupełniające.
Pozdrawiam.