je normalni ?

Honza Pazdziora adelton na informatics.muni.cz
Neděle Duben 30 22:39:09 CEST 2000


On Sun, Apr 30, 2000 at 10:34:03PM +0200, Jan Serak wrote:
> > to view vypada:
> > 
> > SELECT k_uzivatele.id, cele_jmeno, COUNT(*) from pocet
> > FROM fis.k_uzivatele,fis.w_log
> > WHERE uzivatel IS NOT NULL AND k_uzivatele.id = w_log.id
> > GROUP BY k_uzivatele.id,cele_jmeno
> > ORDER BY pocet DESC
> 
> Huf, ted mi dosel cely thread a znovu jsem trosicku experimentoval.
> Muj zaver zni, ze si muzete gratulovat v objeveni bugu. Jadro pudla
> je v tom, ze view groupuje podle count(*) a pri vybirani count(*)
> z tohodle view je velkej oraakl zmateny. Kdyz jsem nazev viewu
> nahradil subquery z definice viewu, tak to funguje OK. 

A neni nahodou zakopany pes v tom, ze se v tom view pouziva ORDER BY?
To 8i jakoze uz prohlasilo za legalni? Hmm -- pokud to view existuje,
tak asi ano ... ledaze by bylo invalidni.

> Btw. me pritom napada, proc vubec delate select count(*) from view,
> ktery sumuje_a_grupuje a jeste k tomu tridi? Neznam semantiku dat,
> ale mam pocit, ze chcete zjistovat pocet uzivatelu, kteri maji
> nejaky w_log (nevim, co to je, ale to je lhostejne). Co takhle:
> 
> 	select count(distinct id) from w_log;
> 
> ? Usetrite na joinu, grupovani a trideni.

;-) No, s distinctem delam to grupovani (resp. trideni) tak jak tak.

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
   .project: Perl, DBI, Oracle, MySQL, auth. WWW servers, MTB, Spain.
------------------------------------------------------------------------


Další informace o konferenci Test