shaker Skrevet 9. februar 2007 Del 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). Lenke til kommentar
laaknor Skrevet 9. februar 2007 Del Skrevet 9. februar 2007 SELECT * FROM table WHERE id IN (2,5,12,32); Lenke til kommentar
shaker Skrevet 9. februar 2007 Forfatter Del Skrevet 9. februar 2007 Ok takk *flere tegn* Lenke til kommentar
roac Skrevet 10. februar 2007 Del 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') Lenke til kommentar
tZar Skrevet 10. februar 2007 Del 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. Lenke til kommentar
roac Skrevet 10. februar 2007 Del 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? 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å