This discussion is archived
2 Replies Latest reply: Feb 15, 2013 11:02 AM by user13387916 RSS

max, sum function

user13387916 Newbie
Currently Being Moderated
I would like to get this result:

NAZWAWYDZIALU NAZWISKO
---------------- ---------------
Organizacji i Zarządzania | Moskowitz
Elektrotechniki Informatyki | Crocitto
Mechaniczny | Walter
Inżynierii Procesowej | Mierzwa
Fizyki Technicznej | Olvsade

August displayed the names of employees who have the most papers.

I wrote the following query:

SELECT w.NazwaWydzialu, p.nazwisko
FROM wydzialy w,
          pracownicy p ,
          referatyPracownikow rp,
          referaty r,
          konferencje k
WHERE rp.idreferat = r.idReferatu and
               p.idPracownika = rp.idPracownika and
               r.idKonferencji = k.idKonferencji
HAVING count( * *)* = ( SELECT MAX ( sum (r.idReferatu))
                              FROM wydzialy w,
                                   pracownicy p,
                                   referatyPracownikow rp,
                                   referaty r,
                                   konferencje k
                              WHERE rp.idreferat = r.idReferatu and
                                        p.idPracownika = rp.idPracownika and
                                        r.idKonferencji = k.idKonferencji      
                              GROUP BY r.idReferatu)
     GROUP BY w.NazwaWydzialu, p.nazwisko ;

returns 0 rows :(

Please kindly information, whether well-written query.

Tables:

CREATE TABLE konferencje (
     idKonferencji number(4) CONSTRAINT kl_glowny_konf PRIMARY KEY ,
     NazwaKonferencji varchar(30),
     lokalizacja varchar(30),
     dataPoczatkowa date,
     dataZakonczenia date
);

CREATE TABLE uczelnie (
     iduczelni number(4) CONSTRAINT kl_glowny_ucze PRIMARY KEY ,
     NazwaUczelni varchar(30),
     adres varchar(30),
     kodpocztowy varchar(6),
     miasto varchar(30),     
     NrTelefonu number(10),
     NIP_ucz     number(10)
);

CREATE TABLE wydzialy (
     idWydzialu number(4) CONSTRAINT kl_glowny_wydz PRIMARY KEY ,
     NazwaWydzialu varchar(30),
     Iduczelni CONSTRAINT kl_obcy_ucz REFERENCES uczelnie(iduczelni)
);

CREATE TABLE katedry (
     idkatedry number(4) CONSTRAINT kl_glowny_kated PRIMARY KEY ,
     Nazwakatedry varchar(30),
     IdWydzialu CONSTRAINT kl_obcy_wydz REFERENCES wydzialy(idWydzialu)     
);

CREATE TABLE pracownicy (
     idPracownika number(4) CONSTRAINT kl_glowny_prac PRIMARY KEY ,
     nazwisko varchar(30),
     imie varchar(30),
     tytul_naukowy varchar(30),
     adres varchar(30),
     kodPoczatkowy varchar(6),
     miasto varchar(30),
     telefonDomowy number(10),
     dataUrodzenia date,
     ID_katedry CONSTRAINT kl_obcy_kated REFERENCES katedry(idkatedry)
);

CREATE TABLE referaty (
     idReferatu number(4) CONSTRAINT kl_glowny_ref PRIMARY KEY ,
     tytulReferatu varchar(30),
     dataReferatu date,
     idKonferencji CONSTRAINT kl_obcy_konf REFERENCES konferencje(idKonferencji)
);

CREATE TABLE referatyPracownikow (
     idreferat CONSTRAINT kl_obcy_ref REFERENCES referaty(idReferatu),
     idPracownika CONSTRAINT kl_obcy_prac REFERENCES pracownicy(idPracownika)
);

CREATE TABLE publikacjePracownikow (
     idPracownika CONSTRAINT kl_obcy_prac2 REFERENCES pracownicy(idPracownika),
     idPublikacji CONSTRAINT kl_obcy_pub REFERENCES publikacje(idPublikacji)
);


CREATE TABLE przedmiotyProwadzone (
     idFormyPrzed CONSTRAINT kl_obcy_formyPrzed2 REFERENCES FormyPrzedmiotow(idFormyPrzed),
     idPracownika CONSTRAINT kl_obcy_prac3 REFERENCES pracownicy(idPracownika),
     LiczbaGodz number(10)
);

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points