Autor | Zpráva | ||
---|---|---|---|
veteran Profil * |
#1 · Zasláno: 26. 9. 2010, 09:19:17
Zdravím. Práve pracujem na rebríčku pre jeden web a neviem si rady s možno jednoduchou vecou - no prešiel som viacero fór a tutorialov, no nikde som to nenašiel. Problém je, ako zistiť aktuálnu pozíciu pretekára bez toho, aby som ju musel zapisovať a neskôr prepisovať v DB. Chcem, aby ju vyrátalo na základe aktuálneho celkového súčtu bodov.
Vďaka za pomoc. |
||
Joker Profil |
#2 · Zasláno: 26. 9. 2010, 09:30:46 · Upravil/a: Joker
veteran:
„Chcem, aby ju vyrátalo na základe aktuálneho celkového súčtu bodov.“ V dotazu je málo informací, takže si budu muset domýšlet: - Je to dělané přes databázi - Pozice závisí jen na počtu bodů Čili pak pozice každého je počet těch, kdo mají víc bodů než on, plus 1. Nějak takhle asi: SELECT (COUNT(*) + 1) AS pozice FROM tabulka WHERE pocetbodu>počet bodů soutěžícího Dodatek: Předpokládá to, že více soutěžících se stejnými body bude na stejném místě, například: A: 5 bodů, B: 3 body, C: 3 body, D: 1 bod bude: 1. A, 2. B, 2. C, 4. D |
||
veteran Profil * |
#3 · Zasláno: 26. 9. 2010, 09:46:39
Ozrejmím to trošku bližšie. Mám dve tabuľky - pretekari a ranking.
V tabuľke pretekari sú polia id, meno, priezvisko, sponzor a ďalšie, ktoré momentálne nie sú podstatné. V tabuľke ranking sú polia id a pretek1, pretek2, ..., pretek6 a spolu. Tabuľky sú navzájom prepojené cez polia id. Ide mi o to, aby sa mi vytvorila tabuľka s aktuálnym poradím nasledovne: 1. MenoPriezvisko Sponzor Súčet bodov 2. MenoPriezvisko Sponzor Súčet bodov 3. MenoPriezvisko Sponzor Súčet bodov atď. ...prakticky mi ide všetko, len to poradové číslo nie. |
||
Keeehi Profil |
#4 · Zasláno: 26. 9. 2010, 11:19:22
veteran:
Problém je ve špatně navržené druhé tabulece. Ta by měla vypadat nějak takto: id, výsledek závodu, závod (pořadové číslo závodu) pak se jedná o relaci 1:N. |
||
Joker Profil |
#5 · Zasláno: 26. 9. 2010, 14:11:30
Keeehi:
„Problém je ve špatně navržené druhé tabulece.“ To se tu řeší každou chvíli. Zkusil jsem rozšířit databázové FAQ o tento a další často řešené problémy. |
||
Časová prodleva: 14 let
|
0