shaker Skrevet 9. februar 2007 Skrevet 9. februar 2007 Er det mulig å hente ut f.eks radene med id 2,5,12,32 fra en tabell med bare 1 enkelt query? (bruker MS SQL).
roac Skrevet 10. februar 2007 Skrevet 10. februar 2007 Det kan også nevnes i sammenhengen at IN ofte brukes i forbindelse med underspørringer, eller i nyere databasesystemer ofte med fordel common table expressions. Et eksempel på noe slikt vil kunne være: select * from personer where postnr in (select postnr from postnrliste where poststed = 'Oslo')
tZar Skrevet 10. februar 2007 Skrevet 10. februar 2007 Når man først går inn og nevner underspørringer så kan det nevnes at en del databaser kan slite en del ytelsesmessig med underspørringer. Ofte kan det lønne seg å hente ut aktuelle verdier først, på samme måtte som laaknor skrev.
roac Skrevet 10. februar 2007 Skrevet 10. februar 2007 Når man først går inn og nevner underspørringer så kan det nevnes at en del databaser kan slite en del ytelsesmessig med underspørringer. Ofte kan det lønne seg å hente ut aktuelle verdier først, på samme måtte som laaknor skrev. 7911819[/snapback] Det var en grunn til at jeg nevnte Common Table Expressions, de er geniale til nettopp det, og sidne vedkommende bruker MSSQL så får vi håpe han bruker SQL Server 2005 og kan bruke Common Table Expressions: with PostNumre as ( select Postnummer from PostnummerListe where PostSted = 'Oslo' ) select * from Personer p inner join PostNumre pn on (p.PostNr = pn.PostNr) Det er bare NYDELIG å jobbe med, og det er også i henhold til SQL-standarden. Kan det bli særlig bedre?
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å