Gå til innhold

Hjelp til veldig kompleks spørring.


Anbefalte innlegg

Skrevet

Eg skal regne ut snittet av ein verdi for eit heilt år for ein gruppe ovner.

 

Det er enkelt og greit og forstå. Men problemet mitt er korleis får eg henta den første og siste ovn_id eg *printer* ut? Bruker Oracle.

 

SELECT AVG(verdi) AS avgVerdi
FROM analyse, ovn
WHERE '06' = 
 (SELECT to_char(analyse.tiltid, 'yy')
 FROM analyse) AND analyse.ovn_id BETWEEN
 (SELECT FIRST ovn_id 
 FROM ovn WHERE ovn.gruppe_id =11) AND (SELECT LAST ovn_id 
 FROM ovn WHERE ovn.gruppe_id =11)
;

Videoannonse
Annonse
Skrevet

Eg greide det nå. Her måtte eg tenke litt lenge og godt, men eg synes løsninga blei ganske fin :)

 

CREATE OR REPLACE VIEW ovn_gr AS SELECT ovn_id 
       FROM ovn WHERE ovn.gruppe_id =11;

SELECT AVG(verdi) AS avgVerdi
FROM analyse, ovn
WHERE '06' = 
           (SELECT to_char(analyse.tiltid, 'yy')
           FROM analyse) AND analyse.ovn_id BETWEEN
           (SELECT ovn_id 
           FROM ovn_gr WHERE ROWNUM = 1) AND (SELECT ovn_id 
         FROM ovn_gr WHERE ovn_id =
           (SELECT MAX(ovn_id)
           FROM ovn_gr)) ;

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...