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: 14597
  • 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: 14597
  • 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 628 korisnika na forumu :: 43 registrovanih, 6 sakrivenih i 579 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: A.R.Chafee.Jr., aljosa7, BlackPhantom, Brot, cincarin, dragoljub11987, Dukelander, elenemste, flash12, goxin, HrcAk47, indja, Insan, kaptain, kybonacci, Lucije Kvint, lukac, Marko Marković, MB120mm, MegaVLAdaR, Mercury, Mihajlo, milimoj, MilosKop, moonshine, nik8282, nuke92, Oscar, renoje2, repac, riva, rovac, Roxy music, sakota79, Sale.S, Sirius, Sloven, Toni, Toper, Username1000, vathra, vihor2, Živković