2 Replies Latest reply: Feb 15, 2013 1:02 PM by user260user RSS

    max, sum function

    user260user
      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)
      );