Autor Zpráva
Fantasta
Profil
Ahoj/Dobrý den,

Mám problém z výpisem počtu výskytů jednoho čísla z více sloupců. Jedná se o jednu (hokejovou) tabulku vstrelene_goly, ve které mám (kromě jiného) tři sloupce - strelec, prvni_asistence, druha_asistence. Do těchto sloupců ukládám pouze id hráčů z jiné tabulky (hraci). Jde mi o vypsání nejproduktivnějších hráčů - tudíž čísel, které se v těchto třech sloupcích nejčastěji vyskytují.

Nevím, jak zformulovat SQL dotaz, jestli se mám snažit využít seznamu hráčů z tabulky hraci, nebo jestli to půjde zavolat pouze na tabulce vstrelene_goly.

Jako možné řešení mě napadlo vytvoření samostatné tabulky produktivita, do které bych ukládal při zapisování nových záznamů vstřelených golů, ale přijde mi zbytečné tvořit další tabulku, když by to (doufám) mělo jít i bez toho. Nebo ne? Díky za rady : -)

Takhle by to šlo, ale není to seřazeno...

$query =  "SELECT * from hraci";
$result = mysql_query ($query) or die ("sql dotaz nevykonán");
$i=0;
while ($row = mysql_fetch_array($result)) {
$i++;
$id = $row['id'];
$jmeno = $row['jmeno'];

$goly = mysql_result(mysql_query("SELECT COUNT(*) FROM `vstrelene_goly` where `strelec`='$id'"),0);
$asistence = mysql_result(mysql_query("SELECT COUNT(*) FROM `vstrelene_goly` where `asistence`='$id'"),0);
$asistenceb = mysql_result(mysql_query("SELECT COUNT(*) FROM `vstrelene_goly` where `asistenceb`='$id'"),0);

$bodiky = $goly + $asistence + $asistenceb;
$asis = $asistence + $asistenceb;

echo"$jmeno $bodiky($goly+$asis)<br>"; } 
panther
Profil
Fantasta:
a co jen
select count(*) from vstrelene_goly where strelec = $id or asistence = $id or asistenceb = $id

Nemám teď po ruce server, abych vyzkoušel, nešlo by otočit IN ve smyslu where $id in (strelec, asistence, asistenceb)? Hádám, rád bych vyzkoušel, ale asi to nepůjde.
Kajman_
Profil *
Možná to půjde takto nějak
SELECT h.*,
  (SELECT COUNT(*) FROM `vstrelene_goly` where `strelec`=h.id) goly,
  (SELECT COUNT(*) FROM `vstrelene_goly` where h.id in (`asistence`, `asistenceb`)) asistence
FROM `hraci` h
ORDER BY (goly+asistence) DESC, goly DESC
Fantasta
Profil
Ano, takhle nějak to přesně jde, děkuji moc, problém vyřešen :)

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: