Defo Skrevet 24. januar 2014 Del Skrevet 24. januar 2014 Hei! Jeg har tabellen nedenfor, og skal lage en setning for å gjøre følgende: "Finn alle ansatte som tjener mer enn Jones" Jeg tenker at det blir noe slikt: select * from EMP where SAL > #Jones sin lønn; Men hvordan får jeg tak i Jones sin lønn, slik at jeg kan bruke den i "where" betingelsen? Altså hvordan kan man få ut verdien til en spesifikk rad, for å så kunne bruke den i betingelsen? Btw, bruker mySQL. Lenke til kommentar
cronbach alpha Skrevet 24. januar 2014 Del Skrevet 24. januar 2014 Flere måter å gjøre det på, en enkel måte kan være f.eks denne SELECT ENAME AS lonn_over FROM EMP WHERE SAL > 2975 ORDER BY lonn_over DESC; Lenke til kommentar
Defo Skrevet 25. januar 2014 Forfatter Del Skrevet 25. januar 2014 (endret) Flere måter å gjøre det på, en enkel måte kan være f.eks denne SELECT ENAME AS lonn_over FROM EMP WHERE SAL > 2975 ORDER BY lonn_over DESC; Problemet med denne løsningen er at man baserer seg på at man allerede vet lønnen til JONES. Where betingelsen i setningen må være noe som dette: where SAL > JONES sin lønn; Hvor "JONES sin lønn" må kunne skrives med syntax på en eller annen måte, altså uten å vite hva lønnen faktisk er på forhånd. Endret 25. januar 2014 av Defo Lenke til kommentar
cronbach alpha Skrevet 25. januar 2014 Del Skrevet 25. januar 2014 Flere måter å gjøre det på, en enkel måte kan være f.eks denne SELECT ENAME AS lonn_over FROM EMP WHERE SAL > 2975 ORDER BY lonn_over DESC; Problemet med denne løsningen er at man baserer seg på at man allerede vet lønnen til JONES. Where betingelsen i setningen må være noe som dette: where SAL > JONES sin lønn; Hvor "JONES sin lønn" må kunne skrives med syntax på en eller annen måte, altså uten å vite hva lønnen faktisk er på forhånd. Test med denne: SELECT ENAME AS lonn_over FROM EMP WHERE SAL > (SELECT SAL FROM EMP WHERE ENAME ='JONES'); Lenke til kommentar
Defo Skrevet 25. januar 2014 Forfatter Del Skrevet 25. januar 2014 Test med denne: SELECT ENAME AS lonn_over FROM EMP WHERE SAL > (SELECT SAL FROM EMP WHERE ENAME ='JONES'); Det funket flott! Hadde ikke tenkt på muligheten til å bruke en select setning inne i en select setning... (selectception?) Takker! Lenke til kommentar
cronbach alpha Skrevet 26. januar 2014 Del Skrevet 26. januar 2014 Test med denne: SELECT ENAME AS lonn_over FROM EMP WHERE SAL > (SELECT SAL FROM EMP WHERE ENAME ='JONES'); Det funket flott! Hadde ikke tenkt på muligheten til å bruke en select setning inne i en select setning... (selectception?) Takker! Ingen problem:) 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å