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

Pomoc oko SQL upita

[es] :: MySQL :: Pomoc oko SQL upita

[ Pregleda: 1743 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

turshija
Boris Vujicic
KGB Hosting
Novi Sad

Član broj: 240915
Poruke: 27
77.46.226.*

Sajt: www.turshija.com


+1 Profil

icon Pomoc oko SQL upita05.01.2010. u 19:05 - pre 173 meseci
Postovanje ...
Imam jedan problem i verujem da se moze efikasno resiti samo jednim SQL upitom ...
Pojednostavljen primer:
imam dve tabele:
Code:
kategorije                proizvodi

kid    ime                ime              kid
-------------------        -------------------
1     kategorija1          traktor         1
2     kategorija2          frizider        2
3     kategorija3          pegla           2
4     kategorija4          avion           4
                           paprika         4


E sada ...
Kako izlistati sve kategorije koje imaju 2 ili vise proizvoda ?
Ne idu mi nesto ti "ugnjezdeni" upiti ili kako se vec zovu ... :)
Znaci konkretno na mom primeru, upit koji ce izlistati:
Code:
2 kategorija2
4 kategorija4

Verujem da bi islo nesto tipa:

"SELECT * FROM kategorije WHERE (COUNT (1) FROM proizvodi WHERE kid='nesto')>2"

Moze mala pomoc ? :)

edit: pokusavam i ovaj upit ali ne radi :(

SELECT * FROM kategorije k
WHERE (
COUNT (1) FROM proizvodi p
WHERE p.kid=k.kid
)>2



EDIT2:

Uspesno sam resio problem prchkajuci po ovom proslom upitu i radi sve lepo ... :)

[Ovu poruku je menjao turshija dana 05.01.2010. u 20:36 GMT+1]
mysql_query("DELETE stupidity FROM earth") or die("Stupidity");
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Pomoc oko SQL upita06.01.2010. u 10:03 - pre 173 meseci

select *, (select count(*) as koliko from proizvodi where proizvodi.kid = kategorije.kid) from kategorije where koliko > 1;

select kategorije.kid, kategorije.ime, count(*) as koliko from proizvodi join kategorije using (kid) group by kategorije.kid having koliko > 1;

...
 
Odgovor na temu

bantu

Član broj: 38670
Poruke: 305
*.broadband.blic.net.



+27 Profil

icon Re: Pomoc oko SQL upita07.01.2010. u 12:33 - pre 173 meseci
Ne vidim zasto komplikovati, ne trebaju ovdje ugnjezdeni upiti.
Code:
SELECT k.kid, k.ime, count(*) as Broj_proizvoda
FROM kategorije k, proizvodi p
WHERE k.kid = p.kid
GROUP BY k.kid, k.ime
HAVING count(*) > 1;
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Pomoc oko SQL upita07.01.2010. u 12:36 - pre 173 meseci
bantu, po cemu se "nekomplikovani" upit razlikuje od drugog primera upita iz posta pre toga ?
 
Odgovor na temu

bantu

Član broj: 38670
Poruke: 305
*.teol.net.



+27 Profil

icon Re: Pomoc oko SQL upita07.01.2010. u 13:19 - pre 173 meseci
Ni po cemu, prevido sam taj dio posta.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Pomoc oko SQL upita07.01.2010. u 13:22 - pre 173 meseci
dobro je, nisam prolupao :D ... zbunio si me 1/1 :D


 
Odgovor na temu

[es] :: MySQL :: Pomoc oko SQL upita

[ Pregleda: 1743 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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