Autor Zpráva
forest
Profil *
Ahoj mám tabulku stats_cards se sloupci: id_card, id_match, id_team, id_player, type_card.

Ve slupci type_card se objevují 3 hodnoty:
1 = žlutá karta
2 = červená karta, udělená po dvou žlutých
3 = červená karta, udělená rovnou

Potřebuji sestavit dotaz, který vypíše následující:
Pořadí týmů v tzv. výpise FAIR-PLAY, kde u každého týmu bude počet karet, které obdržel s tím, že v tomto počtu bude započítána type_card = 1 jako jedna obdržená karta a type_card = 2 nebo 3 jako dvě obdržené karty.

Př. tým s id_team = 5 dostal 3 žluté karty a 2 červené

Výpis tedy bude:
ID_TEAM - Počet karet
5 ---------- (3žluté + (2*2červené)) = 7karet

Díky za případné odpovědi
ninja
Profil
SELECT *, SUM(IF(type_card=1,1,2)) AS pocet_karet FROM stats_cards GROUP BY id_team;
forest
Profil *
Děkuji, funguje to přesně jak jsem chtěl.

Mohl bych Tě ještě poprosit vysvětlit tu podmínku..

Díky
juriad
Profil
IF(a=b, c, d): pokud a se rovná b, tak vrať c, jinak d
Přičti za každý řádek jedničku pokud je type_card 1, jinak dvojku.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: