Autor Zpráva
Martin
Profil
Ahoj, potřeboval bych pomoc vypsat z db tuto http://www.futsal.ascompcz.cz/vysledky.aspx?id=11&par=24|05 tabulku pořadí.
Vyexportovanou databázi mám zde http://cskavysina.wz.cz/help/cskavysina.sql , hodnoty(názvy týmů, skore, datum odehrání, jména rozhodčích) sedí s uvedenou stránkou. Pomůžete mi, děkuji.
Kajman
Profil *
No, vzhledem k prastaré verzi to asi nepůjde přímo a jednoduše... takže bude nejspíše vytvořit třeba temporary tabulku, kde se zdvojí tabulka zápasů, aby se to pak dalo jednoduše vysčítat.

create temporary table zapasy_oboje as
select
id_domaci as tym,
goly_domaci as golyp,
goly_hoste as golym,
if(goly_domaci>goly_hoste,1,0) as vitezstvi,
if(goly_domaci=goly_hoste,1,0) as remiza,
if(goly_domaci<goly_hoste,1,0) as prohra
from zapasy
union
select
id_hoste as tym,
goly_hoste as golyp,
goly_domaci as golym,
if(goly_domaci<goly_hoste,1,0) as vitezstvi,
if(goly_domaci=goly_hoste,1,0) as remiza,
if(goly_domaci>goly_hoste,1,0) as prohra
from zapasy

A pak z ní ten select už určitě zvládnete:

select nazev,
count(*) as zap,
sum(vitezstvi) as vi,
sum(remiza) as re,
sum(prohra) as pr,
sum(golyp) as gp,
sum(golym) as gm,
sum(golyp)-sum(golym) as pm,
sum(vitezstvi)*3+sum(remiza) as body
from zapasy_oboje left join tymy on (tym=id)
group by tym
order by body desc, pm desc, gp desc
23k
Profil
kajmane s verzi 4.1 a vyssi by to bylo jak? , jinak to funguje, jsi dabel
Kajman
Profil *
No, přinejmenším by se nemusela dělat temporary tabulka a místo zapasy_oboje by mělo stačit strčit tam ozávorkovaný první dva sloučené selecty, co tu tabulku vytvářely.
23k
Profil
Nemel bys ICQ, ze bych se na neco jeste optal i kdyz nejsem autor threadu.
Martin
Profil
Kajman je bůh :) Díky moc

Ještě si nevim rady s tim, jak vypsat ty jednotlivé zápasy, jako to mají na těch stránkách. Díky
Kajman
Profil *
No, pokud to mají být jen odehrané, tak to není problém.

select kolo,
d.nazev as dom,
h.nazev as hos,
date_format(datum, '%a %e.%c. %k:%i'),
hr.hriste,
r.prijmeni,
goly_domaci,
goly_hoste
from zapasy z
left join tymy d on (id_domaci=d.id)
left join tymy h on (id_hoste=h.id)
left join hriste hr on (z.hriste=hr.id)
left join rozhodci r on (rozhodci=r.id)
order by kolo desc, datum desc

Problém by byl s těmi plánovanými, protože by se musely cucat z prstu.
Kajman
Profil *
Jo a jak tak koukám na to včerejší ... tak za tím union má být asi ještě "all" jinak tam nemusejí být sečteny všechny zápasy :-)
Martin
Profil
Fakt díky
Toto téma je uzamčeno. Odpověď nelze zaslat.

0