Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

kako da upitam ovo?

[es] :: Baze podataka :: kako da upitam ovo?

[ Pregleda: 2469 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

solarko

Član broj: 111607
Poruke: 145
80.93.240.*

Jabber: strahinja@es.org


Profil

icon kako da upitam ovo?17.02.2007. u 07:29 - pre 209 meseci
poz


imam tabele

IZNAJMIO(#id,ko,kojukasetu) // koji clan koju kasetu moze i vise puta
Kaseta(#kojukasetu,kojifilm) // koji film je na toj kaseti
Zanr(#zanr) // akcija,drama ...
Film(#kojifilm,kojizanr) // brus li->akcija
Clan(#ko,ime) ///125, Pera

Kako da nadjem za svaki zanr koliko je puta gledan i ko je najvise puta gledao taj zanr u jednom upitu?

 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: kako da upitam ovo?17.02.2007. u 07:58 - pre 209 meseci
Nisi nam rekao koji je DBMS u pitanju, ali evo ti primer za MS SQL ili Access 2002/2003 (LEFT JOIN da bi dobio rezultat i za zanrove koji nisu uopste gledani, a ako hoces samo zanrove koji su gledani onda stavi INNER):
Code:

SELECT Zanr, UkupnoGledan, ZanrManijak, MaxZanrClan 
FROM 
    (SELECT Film.kojizanr AS Zanr, COUNT(*) AS UkupnoGledan 
    FROM (Film 
    LEFT JOIN Kaseta ON Film.kojifilm = Kaseta.kojifilm) 
    INNER JOIN Iznajmio ON Kaseta.kojukasetu = Iznajmio.kojukasetu 
    GROUP BY Film.kojizanr) 
AS Zanrovi 
LEFT JOIN 
    (SELECT MAX(UkupnoZanrClan) AS MaxZanrClan, ZanrManijak, kojizanr 
    FROM 
        (SELECT Clan.ime AS ZanrManijak, Film.kojizanr, COUNT(*) AS UkupnoZanrClan 
        FROM ((Film 
        INNER JOIN Kaseta ON Film.kojifilm = Kaseta.kojifilm) 
        INNER JOIN Iznajmio ON Kaseta.kojukasetu = Iznajmio.kojukasetu) 
        INNER JOIN Clan ON Iznajmio.ko = Clan.ko
        GROUP BY Clan.ime AS ZanrManijak, Film.kojizanr) AS UkupnoClanoviZanrovi 
    GROUP BY ZanrManijak, kojizanr) 
AS ZanrManijaci ON Zanrovi.Zanr = ZanrManijaci.kojizanr

Eto, nisam probao vec sam direktno ovde pisao SQL, tako da izvini ako ima neka greska, bitna je ideja. U svakom slucaju ovde dobijas po zanrovima ukupan broj gledanja, clana koji je najvise gledao odredjen zanr (ZanrManijak) kao i koliko puta je gledao taj zanr (ono sto nisi trazio, ali posto vec imamo taj podatak - zasto ga ne prikazati).
 
Odgovor na temu

[es] :: Baze podataka :: kako da upitam ovo?

[ Pregleda: 2469 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.