/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Case i SQL... Hvad med IF ?
Fra : "> Allan


Dato : 01-03-05 15:51

Hej.. Jeg skal have lavet mig et View i SQL Server 2000.

P.t. returnere det rækker der ser således ud

Vare - Levår - Ugenr - AntalUgerÅretFør
1111 - 2005 - 15 - 53
2222 - 2005 - 10 - 53
3333 - 2005 - -2 - 53

Som det kan ses er den sidste post negativ - SÅ! - jeg vil altså gøre
følgende...

Hvis Ugenr < 1 then Ugenr = AntalUgerÅretFør - Ugenr AND
Levår = Levår - 1

Kan det gøres i SQL? P.t. kan jeg gøre det med en Case... men det kommer til
at virke lidt fjollet fordi:

CASE (Ugenr)
WHEN 0 THEN Levår - 1 and Ugenr = AntalUgerÅretFør - Ugenr
WHEN -1 THEN Levår - 1 and Ugenr = AntalUgerÅretFør - Ugenr
WHEN -2 THEN Levår - 1 and Ugenr = AntalUgerÅretFør - Ugenr
WHEN -3 THEN Levår - 1 and Ugenr = AntalUgerÅretFør - Ugenr
WHEN -4 THEN Levår - 1 and Ugenr = AntalUgerÅretFør - Ugenr
ELSE
'000'
END

Kan det gøres pænt (Case < 1 duer ikke rigtig - men det er noget i den stil
jeg søger)

Mvh
Allan...



 
 
Jens Gyldenkærne Cla~ (01-03-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 01-03-05 22:19

> Allan < skrev:

> Kan det gøres pænt (Case < 1 duer ikke rigtig - men det er
> noget i den stil jeg søger)

Kan du bruge den anden Case-form:

CASE
   WHEN Ugenr < 1 THEN AntalUgerÅretFør - UgeNr
   ELSE UgeNr
END As UgeNr

CASE
   WHEN Ugenr < 1 THEN LevÅr - 1
   ELSE LevÅr
END As LevÅr
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

"> Allan (02-03-2005)
Kommentar
Fra : "> Allan


Dato : 02-03-05 12:21

> > Kan det gøres pænt (Case < 1 duer ikke rigtig - men det er
> > noget i den stil jeg søger)
>
> Kan du bruge den anden Case-form:
> CASE
> WHEN Ugenr < 1 THEN AntalUgerÅretFør - UgeNr
> ELSE UgeNr
> END As UgeNr
> CASE
> WHEN Ugenr < 1 THEN LevÅr - 1
> ELSE LevÅr
> END As LevÅr

Det var lige hvad jeg kunne bruge. Utroligt hvad syntax og erfaring kan
gøre...
Mange tak for hjælpen...

Mvh
Allan



Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408188
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste