magikern Skrevet 24. september 2005 Del Skrevet 24. september 2005 prøver å få ut alle felt mellom "n" og "m" på denne måten select * from (select *, rownum as seqnum from table) where seqnum > 5 and seqnum <10; dette gir meg en feilmelding ved asterisk i subquery select * from (select *, rownum as seqnum from table) where seqnum > 5 and seqnum <10 * ERROR at line 1: ORA-00923: FROM keyword not found where expected , så om jeg fjerner den og derav får dette: select * from (select rownum as seqnum from table) where seqnum > 5 and seqnum <10; så fungerer det, men da får jeg bare ut rownum, jeg trenger altså en måte og få med alle andre felt på? Lenke til kommentar
magikern Skrevet 19. oktober 2005 Forfatter Del Skrevet 19. oktober 2005 hmm, ingen som veit? Lenke til kommentar
mikaelandre Skrevet 19. oktober 2005 Del Skrevet 19. oktober 2005 hvorfor bytter du navn fra rownum til seqnum? problemet er at "select *" sier at du skal velge alt, og da forventer oracle å få vite hvor du skal ta det fra. det vil fungere fint med dette: select * from table where rownum > 5 and rownum <10; hvis du ikke _må_ kalle den for seqnum... da vet jeg ikke Lenke til kommentar
magikern Skrevet 19. oktober 2005 Forfatter Del Skrevet 19. oktober 2005 det var vel noe av det første jeg også tenkte på, men det går desverre ikke an, bare prøv selv om du har tilgang på en oracle base... husker ikke nøyaktige forklaringen i farten, men det går noe som dette: "rownum > 5" leverer ikke noe "rownum < 10" leverer noe grunnen til dette er såvidt jeg husker at rownum lages "on the fly" og den derav ikke vet hva den skal trekke ut fra ">5", men er lenge siden jeg leste om det, uansett fant jeg plutselig svaret selv nå: SELECT * FROM (select s.*, rownum seqnum from (select * from table ORDER BY nr) s where rownum <= 10 ) WHERE seqnum >= 5; kanskje ikke den peneste koden man kunne fått til men det gjør jobben... 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å