citanje podataka iz baze problem

citanje podataka iz baze problem

offline
  • Huskar
  • Pridružio: 31 Maj 2008
  • Poruke: 885

Imam ovakvu tabelu

S_RADNICI tabela radnika
-------------------------------
SI_RAD sifra radnika (pk)
IME ime radnika
PREZIME prezime radika
SI_OJ sifra organizione jedinice (fk)

S_ORGJED tabela organizacionih jedinica
-------------------------------------
SI_OJ sifra organizacione jedinice (pk)
NAZIV naziv organizacione jedinice

I hocu izvestaj koji se sastoji:
nazivi organizacionih jedinica i broj radnika u svakoj od njih,
tako sortirano da se prvo prikazuju org.jedinice sa najvise radnika.

Stavio sam relationship ovako


i kada hocu da ispisem to sto zelim ispise mi samo sifre 1,2,3 a ne tako povezano, zasto? u cemu je problem? evo sql

SELECT S_ORGJED.SIOJ FROM S_ORGJED INNER JOIN S_RADNICI ON S_ORGJED.SIOJ = S_RADNICI.SIOJ;



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14824
  • Gde živiš: Niš

Zato što si u SELECT delu tako odabrao. Napravio si spoj tabela, ali si prikazao samo jednu kolonu tog spoja.



offline
  • Huskar
  • Pridružio: 31 Maj 2008
  • Poruke: 885

Napisano: 25 Nov 2014 18:44

ovako je u samoj tabeli, ali ne mogu da izvucem to u query


ali ako stavim ovako

SELECT  S_ORGJED.NAZIV FROM S_ORGJED INNER JOIN S_RADNICI ON S_ORGJED.SIOJ = S_RADNICI.SIOJ;
kako da sad stavim broj radnika u svakoj od njih, kako taj broj da izvucem?

Dopuna: 25 Nov 2014 18:54

Pokusao sam da napravim poseban upit,

SELECT Count(*) AS BrojRadnika FROM S_ORGJED;

ali kako za poseban naziv napraviti

Dopuna: 25 Nov 2014 19:05

Pokusao sam ovako

SELECT S_ORGJED.NAZIV FROM S_ORGJED INNER JOIN S_RADNICI ON S_ORGJED.SIOJ = S_RADNICI.SIOJ UNION ALL SELECT Count(*) AS BrojRadnika FROM S_ORGJED;
but no help

Dopuna: 25 Nov 2014 19:38

Evo uradio sam ovako i dalo mi je OK rezultate
SELECT S_ORGJED.NAZIV, Count(S_ORGJED.SIOJ) AS BrojRadnika FROM S_ORGJED INNER JOIN S_RADNICI ON S_ORGJED.SIOJ = S_RADNICI.SIOJ GROUP BY S_ORGJED.NAZIV ORDER BY Count(S_ORGJED.SIOJ) DESC;

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14824
  • Gde živiš: Niš

Tako je. Grupisanje je neophodno prilikom ovakvih upita i u GROUP BY klauzuli neophodno je navođenje svih atributa navedenih u SELECT klauzuli nad kojima nije primenjena neka funkcija agregacije.

Ko je trenutno na forumu
 

Ukupno su 977 korisnika na forumu :: 23 registrovanih, 5 sakrivenih i 949 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Belac91, Ben Roj, Bobrock1, bokisha253, BratSrpska, brundo65, ccoogg123, darkangel, DejanSt, GH69, koom0001, Leonov, m0nstrum_, mgolub, MiGac, milenko crazy north, milos.cbr, nemkea71, novator, pein, rikirubio, sabros, VJ