Autor | Zpráva | ||
---|---|---|---|
Kcko Profil |
#1 · Zasláno: 21. 10. 2009, 10:22:37
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 |
#2 · Zasláno: 21. 10. 2009, 10:38:09 · Upravil/a: Kcko
Tak uz to mam ( http://pastebin.com/m76e16e0 ), byl by Kajman nebo nekdo "SQL" zrucny laskav a zkontroloval mi to? Diky moc
|
||
Kajman_ Profil * |
#3 · Zasláno: 21. 10. 2009, 11:17:27
V tomhle původní by mělo být right join.
|
||
Kcko Profil |
#4 · Zasláno: 21. 10. 2009, 14:44:17
Kajman: Right Join jsem taky zkousel. Hazelo to stejne vysledky jako Left Join. Diky za odpoved.
|
||
Kajman_ Profil * |
#5 · Zasláno: 21. 10. 2009, 14:57:19
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 |
#6 · Zasláno: 21. 10. 2009, 16:12:26
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. |
||
Časová prodleva: 15 let
|
0