Avatar billede kxh Nybegynder
09. februar 2008 - 15:36 Der er 3 kommentarer og
1 løsning

SQL forespørgsel med variabler og case

Hej

Hvis man skal select ud til en variabel kan man gøre
select @variabel = felt from tabel

men hvordan gøre man hvis feltet bliver genereret af en case
select
  case
    when getdate() between felt1 and felt2 then 'dato1'
    when getdate() between felt3 and felt4 then 'dato2'
end
from tabel

hvordan får jeg resultatet af case ud i min variabel, har prøvet lidt forskelligt men uden resultat

// Kim
Avatar billede arne_v Ekspert
09. februar 2008 - 15:39 #1
samme måde

select
  @variabel = case
    when getdate() between felt1 and felt2 then 'dato1'
    when getdate() between felt3 and felt4 then 'dato2'
end
from tabel
Avatar billede kxh Nybegynder
09. februar 2008 - 15:39 #2
Problemet løst

select
@variabel = case
    when getdate() between felt1 and felt2 then 'dato1'
    when getdate() between felt3 and felt4 then 'dato2'
end ,
@variabel = case
    when getdate() between felt1 and felt2 then 'dato1'
    when getdate() between felt3 and felt4 then 'dato2'
end

from tabel


problemet var at jeg have to case funktioner men kun den ene af dem henviste jeg til en variable og det kan man ikke, alle kolonner skal ud som en variabel.
Avatar billede kxh Nybegynder
09. februar 2008 - 15:41 #3
Hej Arne

Smid et svar, det var dovenskaben der var skyld i problemet, som sagt havde jeg to cases i min sql, men kun den ene fik jeg sat til at skulle være en variabel og det dur ikke ;-)
Avatar billede arne_v Ekspert
09. februar 2008 - 15:50 #4
ah
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester