ggree Skrevet 22. april 2014 Del Skrevet 22. april 2014 (endret) Jeg har tre tabeller/tables jeg vil lage en rapport fra. For enkelthets skyld har jeg opprettet tre forenklede utgaver: Kunde:KUN_ID(PK) FORNAVN ETTERNAVN101 Renate Johansen 102 Espen Johnson103 Siv Jensen104 Trond Johansen Avstemning: AVS_NR(PK) KUN_ID(FK) RESULTAT AVS_DATO 1001 102 'Ja' 03/04/2014 1002 101 'Ja' 05/04/2014 1003 102 'Nei' 14/04/2014 1004 103 'Nei' 16/04/2014 1005 104 'Ja' 16/04/2014 1006 104 'Ja' 18/04/2014 Regning REG_NR(PK) KUN_ID(FK) SUM REG_DATO STATUS 10001 101 200 05/03/2014 'Betalt' 10002 102 200 05/03/2014 'Betalt' 10003 103 300 07/03/2014 'Ikke betalt' 10004 104 100 07/03/2014 'Ikke betalt' 10003 102 200 14/03/2014 'Betalt' 10004 104 100 16/03/2014 'Ikke betalt' Jeg ønsker å hente ut informasjon om de ansatte (ID-nummer og fullt navn), deres siste resultat på avstemningen, samt summen av deres ubetalte regninger. Jeg bruker Oracle. Avstemningen gjelder én bestemt sak. F.eks: kunde med ID-nr. 102 stemte først 'Ja', men endret senere svaret til 'Nei'. Jeg ønsker kun å få med det siste resultatet. Dette er jeg usikker på hvordan jeg skal få til. Jeg har lest at ROW_NUMBER med PARTITION BY kan være hensiksmessig, men jeg vet ikke helt hvordan jeg bruker dette. Noen som kan hjelpe meg med hvordan SELECT-statementet skal se ut? Endret 22. april 2014 av ggree Lenke til kommentar
Karl Skapeland Skrevet 23. april 2014 Del Skrevet 23. april 2014 Hva har du prøvd? 1 Lenke til kommentar
quantum Skrevet 23. april 2014 Del Skrevet 23. april 2014 (endret) Jeg ville bare brukt sub-selects altså noe a'la select k.kun_id,k.fornavn,k.etternavn, (select a.resultat from avstemning a where a.kun_id = k.kun_id and a.reg_dato = (select max(a2.reg_dato) from avstemning a2 where a2.kun_id = a.kun_id)) as resultat, (select sum(r.sum) from regning r where r.kun_id = k.kun_id and r.status = 'Ikke betalt') as ubetaltsum from kunde k where k.kun_id = 123; Dette kan sikksert skrives vakrere med joins og group-by mv., men from the top of my head ... edit: hadde glemt "from" ... hehe ... Endret 23. april 2014 av quantum Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå