Autor Zpráva
Andrew007
Profil
Problem >>
Mam tabulku, v ktere radky tvori hraci a sloupce vysledky, napr. takto >>

V1 V2 V3 V4
hrac1 1 0 2 1
hrac2 1 1 0 -
hrac3 - 0 2 2

Tech vysledku je uz pekna radka (ke V150) a potreboval bych jedno ..
ziskat pocet sloupcu u daneho hrace, kde se hodnota ve sloupci
nerovna "-" resp., kde se hodnota rovna 1 nebo 0 nebo 2.
Rekneme, ze hrac1 bude mit ze 150 vysledku 120 odehranych.
Nemuzu na to vymyslet query, poradi nekdo?
Diky
H13
Profil
do databazí moc nedělám, ale zkusil bych něco jako

SELECT * FROM tabulka_hraci, tabulka_vysledky WHERE tabulka_hraci.hraci=hrac1 AND tabulka_vysledky.vysledky !='-' AND tabulka_vysledky.hraci=tabulka_hraci.hraci

za předpokladu, že jsou dvě tabulky: hraci, vysledky a tabulka vysledky obsahuje odkaz na tabulku hraci

Poznámka: Nezkoušel jsem to, nejsem odborník
Andrew007
Profil
H13 >> bohuzel vysledky a hraci jsou v tabulce jedne a je jich tam tuna, zakomponovano davno do php. Chtel bych ten dotaz na tu jedinou tabulku co mam, jestli to jde ..
ninja
Profil
Nejlepsi bude predelat struturu databaze, tohle neni dobre reseni. Co az vysledku bude 10000?!
H13
Profil
ninja - souhlasím
Andrew007
Profil
takze reseni k teto strukture neexistuje? Jsem cetl neco o klauzuli contains pro where, ale v mysql mi nefunguje :/ ta struktura mi neprijde tak nesmyslna .. sloupce vysledky, radky hraci .. nebo opacne. Proc to mrskat do dvou tabulek??
djlj
Profil
Andrew007
Jakékoliv řešení, u kterého je třeba stále měnit strukturu tabulky, je špatné.
Udělej si ještě tabulku vysledky o třech sloupcích, kde vložíš vždy id hráče, id výsledku a jeho hodnotu. No v tabulce hráčů nech jen id hráče a jeho jméno (případně další hodnoty týkající se daného hráče).

Jsem cetl neco o klauzuli contains pro where
Tohle se používá například u Oracle, v MySQL je syntaxe trochu jiná, nicméně v tomto případě je ti stejně k ničemu.
Toto téma je uzamčeno. Odpověď nelze zaslat.