Autor Zpráva
Kcko
Profil
Ahoj, potrebuji poradit kam zaclenit LEFT JOIN , protoze mi to nedela co potrebuji.

Mensi vysvetleni

alias temp mi vyhodi pocet golu u tymu ktere neco odehraly ( treba 3 tymy ... dalsich 17 jeste nic neodehralo tak tam nic neni)
alias tymy vyplivne vsechny tymy zarazene do konkretni souteze a sezony ( 20 tymu v tomto pripade)

A mym pozadavkem je vypsat vsechny tymy a jejich pocet golu. ( Bohuzel mi to stale vyhazuje pouze 3 tymy, LEFT JOIN mi vubec nepomaha , nebo ho spatne umistuji ) nevedel by nekdo?


SELECT

SUM(_count) as _count,
tym_id,
1
/*
rt.nazev,
rt.seo as tym_seo
*/
FROM
(

SELECT
domaciID as tym_id,
SUM(golyDomaci90) as _count
FROM zapasy
WHERE 
soutezID = 18
AND sezonaID = 3
AND odehrano = 1 
AND kontumace = 0
GROUP BY tym_id

UNION ALL

SELECT
hosteID as tym_id,
SUM(golyHoste90) as _count
FROM zapasy
WHERE 
soutezID = 18
AND sezonaID = 3
AND odehrano = 1 
AND kontumace = 0
GROUP BY tym_id
) as temp

LEFT JOIN 
(
  SELECT DISTINCT tymID FROM souteze_tymy 
  WHERE soutezID = 18 AND sezonaID = 3
) as tymy ON tymy.tymID = temp.tym_id


/*LEFT JOIN rejstrik_tymy rt ON rt.ID = temp.tym_id*/
GROUP BY tym_id



Kcko
Profil
Tak uz to mam ( http://pastebin.com/m76e16e0 ), byl by Kajman nebo nekdo "SQL" zrucny laskav a zkontroloval mi to? Diky moc
Kajman_
Profil *
V tomhle původní by mělo být right join.
Kcko
Profil
Kajman: Right Join jsem taky zkousel. Hazelo to stejne vysledky jako Left Join. Diky za odpoved.
Kajman_
Profil *
Aha, to tím (nejspíše nepotřebným) group by tym_id, které bude často null, mělo tam být k tomu right join ještě group by tymID a v selectu asi taky tymID.
Kcko
Profil
Kajman:
Jasne, grupovat podle tym_id byla hloupost (kdyz to vybere treba jen 3 tymy), grupovat podle tymID je logicke (hodnota z dotazu na vsechny tymy).

Toto me mohlo napadnout. Slozitejsi dotaz uz mam zakomponovan v aplikaci, ale tenhle si ulozim do komentaru.

Diky moc.

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: