Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Wyniki w tabeli z zapytania MySQl
nawasaqi
post
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 28.12.2010

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


Witam serdecznie. Mam problem z rozwiązaniem pewnego zagadnienia. Próbuje sobie stworzyć narzędzie do analiz typów piłkarskich i mam 2 tabele z danymi:
1 tabela o nazwie: `statystyka_loginy` struktura tabeli:
ID
login
link

2 tabela o nazwie: `statystyka_wyniki` struktura tabeli:
Id_typu
ID_user
dzien
spotkanie
wynik
miesiac
rok
zysk


Zrobiłem sobie zapytanie SQL:
  1. SELECT a.Id,a.link,a.login,b.Id_user,b.miesiac,b.rok,SUM(b.zysk) FROM statystyka_loginy a LEFT OUTER JOIN statystyka_wyniki b ON a.Id = b.Id_user GROUP BY b.Id_user,b.miesiac ORDER BY `a`.`login` ASC


I do tego momentu wszystko jest OK.

Teraz próbuję wydobyć dane by pokazać je w tabeli w następujący sposób
login|zysk za miesiąc czerwiec|zysk za miesiąc maj|.

Czyli SQL zwraca mi dane w postaci:
  1. ID link login Id_user miesiac rok SUM(b.zysk)


Z wartościami wygląda to tak:
23 ./kuras KURAS 23 6 2016 432
23 ./kuras KURAS 34 7 2016 30
44 ./zemel ZEMEL 44 6 2016 -23
44 ./zemel ZEMEL 44 7 2016 -98

I teraz chciałbym aby w php zrobić tabelę która by zwracała wyniki w postaci:
login miesiac 06 miesiac 07
KURAS 432 30
ZEMEL -23 -98

I nie wiem jak problem obejść żeby dało mi wynik jak powyżej. Z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nawasaqi
post
Post #2





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 28.12.2010

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


Super dzięki kolego nawet nie wiedziałem że taka fajna funkcja jest w SQL ale ogarnąłem temat (IMG:style_emoticons/default/wink.gif)

  1. SELECT a.Id,a.link,a.login,SUM(b.zysk),
  2. COALESCE(SUM(CASE WHEN b.miesiac=6 THEN b.zysk END),0) miesiac6,
  3. COALESCE(SUM(CASE WHEN b.miesiac=6 THEN 1 END),0) ilosc_typow6,
  4. COALESCE(SUM(CASE WHEN b.cel='pudlo' AND b.miesiac=6 THEN 1 END),0) pudlo6,
  5. COALESCE(SUM(CASE WHEN b.cel='trafiono' AND b.miesiac=6 THEN 1 END),0) trafione6,
  6. COALESCE(SUM(CASE WHEN b.miesiac=7 THEN b.zysk END),0) miesiac7,
  7. COALESCE(SUM(CASE WHEN b.miesiac=7 THEN 1 END),0) ilosc_typow7,
  8. COALESCE(SUM(CASE WHEN b.cel='pudlo' AND b.miesiac=7 THEN 1 END),0) pudlo7,
  9. COALESCE(SUM(CASE WHEN b.cel='trafiono' AND b.miesiac=7 THEN 1 END),0) trafione7
  10. FROM statystyka_loginy a LEFT OUTER JOIN statystyka_wyniki b ON a.Id = b.Id_user
  11. GROUP BY b.ID_user
  12. HAVING miesiac6>100 AND miesiac7>100
  13. ORDER BY miesiac6 DESC


To mam jeszcze jedno pytanie ostatnie czy można jeszcze w to upchnąć obliczanie % skuteczności (IMG:style_emoticons/default/questionmark.gif) czyli skutecznosc6=(trafione6/ilosc_typow6)*100 oraz skutecznosc7=(trafione7/ilosc_typow7)*100??
Z góry dzięki za pomoc...

Ten post edytował nawasaqi 7.07.2016, 13:24:22
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 02:09