Autor Zpráva
Fury
Profil *
Zdravím,

mám 2 dotazy, jeden, který mi z databáze počítá počet gólů:
select 
    h.id,
    h.jmeno,
    t.nazev tym,
    sum(typ_id = 1) as pocet_branek,
    sum(typ_id = 3) as pocet_penalt,
    sum(typ_id = 1 or typ_id = 3) as celkem_golu
from 
    statistiky s
left join 
    hraci h on h.id = s.hrac_id
left join 
    tymy t on t.id = h.tym_id
group by s.hrac_id
order by celkem_golu desc

A druhý, který mi tahá počet minut z jiné tabulky:
select 
    h.id,
    h.jmeno,
    t.nazev tym,
    sum(minut_celkem) as pocet_minut
from 
    statistiky_stridani ss
left join 
    hraci h on h.id = ss.hrac_id
left join 
    tymy t on t.id = h.tym_id

group by ss.hrac_id
order by pocet_minut desc

Snažil jsem se tyto dva dotazy propojit přes "join statistiky s on s.hrac_id = ss.hrac_id", ale začne se mi duplikovat záznamy, takže konečné statistiky nejsou přesné.

Mohu vás poprosit o radu, jak je možné tyto dvě tabulky propojit do jednoho dotazu?

Děkuji
TomášK
Profil
SELECT * 
FROM 
  hraci 
  LEFT JOIN (SELECT ... první dotaz ...) h1 ON hraci.hrac_id = h1.hrac_id
  LEFT JOIN (SELECT ... druhý dotaz ...) h2 ON hraci.hrac_id = h2.hrac_id
ORDER BY ... 

Z těch poddotazů jde vynechat ORDER BY, spojení na tým jde vytáhnout ven a udělat společně.

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:

0