Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] skomplikowane zapyatnie
Forum PHP.pl > Forum > PHP
grzegorz_g
Oto moje zapytanie :
  1. <? 
  2. $sql=&#092;"SELECT m.grupa, k.skrot skrot, k.nazwa, SUM( ( 
  3. @remis := 
  4. IF ( 
  5. m.gol1 = m.gol2, 1, 0 
  6. ) ) + ( @zwyciestwo := 
  7. IF ( 
  8. ( 
  9. m.gol1 > m.gol2 AND m.gospodarz = k.id_team 
  10. ) OR ( 
  11. m.gol1 < m.gol2 AND m.przeciwnik = k.id_team 
  12. ), 1, 0 ) 
  13. ) *
  14. ) AS punkty, SUM( 
  15. IF ( 
  16. m.gospodarz = k.id_team OR m.przeciwnik = k.id_team, 1, 0 
  17. ) ) AS mecze, SUM( @zwyciestwo ) AS zwyciestwa, SUM( @remis ) AS remisy, SUM( 
  18. IF ( 
  19. ( 
  20. m.gol1 < m.gol2 AND m.gospodarz = k.id_team 
  21. ) OR ( 
  22. m.gol1 > m.gol2 AND m.przeciwnik = k.id_team 
  23. ), 1, 0 ) 
  24. ) AS przegrane, SUM( @brz := 
  25. IF ( 
  26. m.gospodarz = k.id_team, m.gol1, m.gol2 
  27. ) ) AS bramkizdobyte, SUM( @brs := 
  28. IF ( 
  29. m.gospodarz = k.id_team, m.gol2, m.gol1 
  30. ) ) AS bramkistracone, SUM( @brz - @brs ) AS roznicabramek 
  31. FROM mecze AS m, team AS k 
  32. WHERE m.kolejka <=3 AND m.grupa =$zmienna AND ( 
  33. m.gospodarz = k.id_team OR m.przeciwnik = k.id_team 
  34. ) AND ( 
  35. gol1 IS NOT NULL 
  36. ) 
  37. GROUP BY k.nazwa 
  38. ORDER BY `punkty` DESC 
  39. LIMIT 0 , 30 &#092;"; 
  40. ?>



i tabela

  1. <?php
  2.  
  3. CREATE TABLE `mecze` ( 
  4. `id` int(11) NOT NULL auto_increment, 
  5. `kolejka` int(11) default NULL, 
  6. `klasa` tinyint(4) NOT NULL default '0', 
  7. `gospodarz` int(11) default NULL, 
  8. `przeciwnik` int(11) default NULL, 
  9. `gol1` int(11) default NULL, 
  10. `gol2` int(11) default NULL, 
  11. `pkt1` int(11) default NULL, 
  12. `pkt2` int(11) default NULL, 
  13. `kiedy` datetime default '2004-06-12 00:00:00', 
  14. `sedziaglowny` int(11) default NULL, 
  15. PRIMARY KEY (`id`), 
  16. UNIQUE KEY `id_2` (`id`), 
  17. KEY `id` (`id`,`kolejka`,`gospodarz`,`przeciwnik`,`gol1`,`gol2`,`kiedy`,`sedziaglowny`) 
  18. ) TYPE=MyISAM AUTO_INCREMENT=1099 ;
  19. ?>


kto mi pomoże przerobić powyższe zapytanie lub dopisać kod php tak by :

w przypadku uzyskania równej ilości punktów przez dwie lub więcej drużyn, o zajętym miejscu decyduje:
1. Przy dwóch zespołach:
a ) ilość zdobytych punktów w spotkaniach między tymi drużynami;
b ) korzystniejsza różnica między zdobytymi i utraconymi bramkami w spotkaniach tych drużyn;
c ) przy dalszej równości , bramki strzelone na wyjeździe liczone są podwójnie korzystniejsza różnica;
d ) przy dalszej równości korzystniejsza różnica, a następnie stosunek bramek we wszystkich spotkaniach z całego cyklu rozgrywek, większa ilość zdobytych bramek z całego cyklu;
2. Przy więcej niż dwóch zespołach przeprowadza się dodatkową punktację pomocniczą spotkań wyłącznie między zainteresowanymi drużynami, kierując się kolejno zasadami podanymi w ppkt. a, b, c, d.

PS jest to w ogóle do zrobienia w mysql i php?questionmark.gif
kszychu
Proszę nie zamieszczać tego samego pytania na dwóch różnych forach!
Następnym razem będzie ostrzeżenie.
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.