ďťż
 
Skrypt tabel sportowych ďťż
 
Skrypt tabel sportowych
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Skrypt tabel sportowych



KJ - 24-12-2006 00:37
Skrypt tabel sportowych
  Witam

Czy ma ktoś skrypt lub podpowie jak napisac (od czego zacząć) automatycznie
generujący tabele np. piłkarskie tzn. wpisuję wyniki danej kolejki a skrypt
automatycznie szereguje odpowiednio drużyny w tabeli





deMeS - 24-12-2006 00:37

 
Użytkownik "KJ" <kjuzik@poczta.onet.pl> napisał w wiadomości
news:em5n3p$pfp$1@nemesis.news.tpi.pl...
> Witam
>
> Czy ma ktoś skrypt lub podpowie jak napisac (od czego zacząć)
automatycznie
> generujący tabele np. piłkarskie tzn. wpisuję wyniki danej kolejki a
skrypt
> automatycznie szereguje odpowiednio drużyny w tabeli
>

To oczywiście zależy w jaki sposób masz przechowywane w bazie informacje o
wynikach spotkań. Kiedyś napisałem funkcję w MSSQL Serverze 2000, która
wyliczała mi dla każdej drużyny ilość zdobytych punktów, straconych i
strzelonych bramek, wygrane, przegrane i remisy na podstawie przechowywanych
w bazie wyników. Paremetrami wejściowymi były id_sezonu i kolejka (po ilu
kolejkach mają być wyliczone te statystyki). Kwestią do napisania pozostaje
więc jeszcze sortowanie takiej tabeli. Jesli jako kryterium zajętego miejsca
przy równej ilości punktów będzie tylko bilans bramkowy to sprawa jest
prosta - wystarczy zwykłe sortowanie. Jesli brane są pod uwagę bezpośrednie
mecze to trzeba by tu jeszcze coś dopisać...

Tabela mecze:

KOLUMNA
FORMAT
OPIS

Id_mecz
Int (4) PRIMARY KEY, NOT NULL
Identyfikator meczu

Id_gospodarz
Int (4) NOT NULL
Identyfikator klubu, który jest w tym meczu gospodarzem

Id_gosc
Int (4) NOT NULL
Identyfikator klubu, który jest w tym meczu gościem

Id_sezon
Int (4) NOT NULL
Identyfikator sezonu

Id_stadion
Int (4)
Identyfikator stadionu, na którym rozgrywany jest mecz

Kolejka
Int (4) NOT NULL
Numer kolejki ligowej, w której rozgrywany jest mecz

Id_sedzia
Int (4)
Identyfikator sędziego

Data_meczu
Smalldatetime
Data rozegrania meczu

Wynik
Varchar (5)
Wynik meczu

Frekwencja
Int (4)
Frekwencja na trybunach

CREATE FUNCTION Tabela (@id_sezon int, @kolejka int)

RETURNS TABLE AS

RETURN

(

select nazwa_kr,

sum(punkty) as punkty,

sum(strzelone) as strzelone,

sum(stracone) as stracone,

sum(strzelone-stracone) as roznica,

sum(wygrane) as wygrane,

sum(remisy) as remisy,

sum(porazki) as porazki

from

(

/*ZDOBYTE PUNKTY, WYGRANE, REMISY I PORAŻKI*/

select id,

sum(punkty) as punkty,

0 as strzelone,

0 as stracone,

0 as roznica,

sum(wygrane) as wygrane,

sum(remisy) as remisy,

sum(porazki) as porazki

from

(

/*Punkty zdobyte przez drużynę grającą jako gospodarz*/

select id_gospodarz as id,

'punkty' = sum(case

when convert(int ,
substring(wynik,1,patindex('%:%',wynik)-1)) > convert(int ,
substring(wynik,patindex('%:%',wynik)+1, len(wynik))) then 3

when convert(int ,
substring(wynik,1,patindex('%:%',wynik)-1)) < convert(int ,
substring(wynik,patindex('%:%',wynik)+1, len(wynik))) then 0

else 1

end),

'wygrane' = sum(case

when convert(int ,
substring(wynik,1,patindex('%:%',wynik)-1)) > convert(int ,
substring(wynik,patindex('%:%',wynik)+1, len(wynik))) then 1

else 0

end),

'remisy' = sum(case

when convert(int ,
substring(wynik,1,patindex('%:%',wynik)-1)) = convert(int ,
substring(wynik,patindex('%:%',wynik)+1, len(wynik))) then 1

else 0

end),

'porazki' = sum(case

when convert(int ,
substring(wynik,1,patindex('%:%',wynik)-1)) < convert(int ,
substring(wynik,patindex('%:%',wynik)+1,len(wynik) )) then 1

else 0

end)

from mecze

where id_sezon=@id_sezon

and kolejka<=@kolejka

group by id_gospodarz

UNION ALL

/*Punkty zdobyte przez drużynę grającą jako gość*/

select id_gosc as id,

'punkty' = sum(case

when convert(int ,
substring(wynik,1,patindex('%:%',wynik)-1)) < convert(int ,
substring(wynik,patindex('%:%',wynik)+1,len(wynik) )) then 3

when convert(int ,
substring(wynik,1,patindex('%:%',wynik)-1)) > convert(int ,
substring(wynik,patindex('%:%',wynik)+1,len(wynik) )) then 0

else 1

end),

'wygrane' = sum(case

when convert(int ,
substring(wynik,1,patindex('%:%',wynik)-1)) < convert(int ,
substring(wynik,patindex('%:%',wynik)+1,len(wynik) )) then 1

else 0

end),

'remisy' = sum(case

when convert(int ,
substring(wynik,1,patindex('%:%',wynik)-1)) = convert(int ,
substring(wynik,patindex('%:%',wynik)+1,len(wynik) )) then 1

else 0

end),

'porazki' = sum(case

when convert(int ,
substring(wynik,1,patindex('%:%',wynik)-1)) > convert(int ,
substring(wynik,patindex('%:%',wynik)+1,len(wynik) )) then 1

else 0

end)

from mecze

where id_sezon=@id_sezon

and kolejka<=@kolejka

group by id_gosc

) as T

group by id

UNION ALL

/*STRZELONE I STRACONE BRAMKI*/

select id,

0 as punkty,

sum(strz) as strzelone,

sum(strac) as stracone,

0 as roznica,

0 as wygrane,

0 as remisy,

0 as porazki

from

(

/*Bramki strzelone i stracone przez drużynę grającą jako gospodarz*/

select id_gospodarz as id,

sum(convert(int ,
substring(wynik,1,patindex('%:%',wynik)-1))) as strz,

sum(convert(int ,
substring(wynik,patindex('%:%',wynik)+1,len(wynik) ))) as strac

from mecze

where id_sezon=@id_sezon

and kolejka<=@kolejka

group by id_gospodarz

UNION ALL

/*Bramki strzelone i stracone przez drużynę grającą jako gość*/

select id_gosc as id,

sum(convert(int ,
substring(wynik,patindex('%:%',wynik)+1,len(wynik) ))) as strz,

sum(convert(int ,
substring(wynik,1,patindex('%:%',wynik)-1))) as strac

from mecze

where id_sezon=@id_sezon

and kolejka<=@kolejka

group by id_gosc

) as T

group by id

) as T join kluby on T.id=kluby.id_klub

group by nazwa_kr

)




KJ - 24-12-2006 00:38

  a mógłbym prosić w plikach i z krótką instrukcją bo jestem początkujący
pozdr
mój e-mail: kjuzik małpa poczta.onet.pl
dzięki

>
> Tabela mecze:
>
> KOLUMNA
> FORMAT
> OPIS
>
> Id_mecz
> Int (4) PRIMARY KEY, NOT NULL
> Identyfikator meczu
>
> Id_gospodarz
> Int (4) NOT NULL
> Identyfikator klubu, który jest w tym meczu gospodarzem
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?= [MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?= [mysql] Wyszukanie =?ISO-8859-2?Q?rekord=F3w=28powiazane_tabel?==?ISO-8859-2?Q?e=29?= [MySQL] Zapytanie z =?ISO-8859-2?Q?dw=F3ch_tabel_na_raz_?==?ISO-8859-2?Q?i_grupowanie_po_wsp=F3lnym_polu=2E_Jak_=3F?= zapytanie do =?ISO-8859-2?Q?dw=F3ch_tabel_z_limitem_wier?==?ISO-8859-2?Q?szy?= [mysql] =?ISO-8859-2?Q?po=B3=B1czenie_tabel_wg_kolumn=2C_?==?ISO-8859-2?Q?nie_wierszy?= Skrypt fotka.pl/sympatia.pl Skrypt na backup (MSSQL2000) i restore (MSSQL2005) Zapytanie SQL z =?ISO-8859-2?Q?pust=B1_tabel=B1?= [MySQL] Backup tabel przez "BACKUP" i problem z prawami dostępu :(
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • oefg.opx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com