PDA

Pogčedajte punu verziju : Složen MySQL upit


Marko Medojevic
03. 11. 2008., 20:02
http://img78.imageshack.us/img78/1218/sqlupittabelesl6.th.jpg (http://img78.imageshack.us/my.php?image=sqlupittabelesl6.jpg)http://img78.imageshack.us/images/thpix.gif (http://g.imageshack.us/thpix.php)
E ovako! U jednom projektu imam tabele PROFESORI(id#, ime, prezime), PREDMETI(id#, naziv) i SMEROVI(id#, naziv).
Sa jedne strane imam vezu m-n između profesora i predmeta, što znači da jedan profesor može predavati više predmeta, a i za jedan predmet može biti zaduženo više profesora! Za to mi služi posrednička tabela PROFPRED(id#, idprof$, idpred$). Sa druge strane isto imam vezu m-n predmeta i smerova, tabela PREDSMER(id#, idpred$, idsmer$). Na gornjoj slici možete videti neke test podatke.
Pitanje je koji upit da upotrebim da mi vrati profesore koji drže predavanja na određenom smeru za zadati id iz tabele SMEROVI?

jablan
03. 11. 2008., 20:34
Pa i nije ti nešto složen upit:

SELECT ime, prezime
FROM PROFESORI p
INNER JOIN PROFPRED pp ON p.id = pp.idprof
INNER JOIN PREDSMER ps ON pp.idpred = ps.idpred
WHERE ps.idsmer = zadatismer

Marko Medojevic
03. 11. 2008., 21:05
Evo ga konačan upit:
SELECT * FROM profesori p INNER JOIN profpred pp ON p.id = pp.idprof
INNER JOIN predsmer ps ON pp.idpred = ps.idpred
WHERE ps.idsmer = zeljeni_smer_id
GROUP BY p.id;
Samo sam dodao jos "GROUP BY p.id" da izbaci duplikate!

Tnx ;)