PDA

Bekijk Volledige Versie : if then else bij ms sql



matthijsdezwart@gmail.com
03/04/08, 10:45
Hoi,

even een simpele vraag, die ik toch niet kon vinden met google.

In mysql kun je een query maken waar je een if functie in zet. Zo
bijvoorbeeld:

select kolom1, kolom2,if(kolom3 = 'd' ,-kolom4,kolom4) as omzet,
kolom5 from tabel;

maar als ik dit in ms sql plemp...werk het voor geen meter.

ik de varianten

select kolom1, kolom2,if(kolom3 = 'd' then -kolom4 else kolom4) as
omzet, kolom5 from tabel;

select kolom1, kolom2,if(kolom3 = 'd' {-kolom4}{kolom4}) as omzet,
kolom5 from tabel;

werken niet. Iemand een idee hoe ik het wel zo kan krijgen dat het net
zo werkt als bij vriend mySQL?
Groeten,

Matthijs

Rik Wasmus
03/04/08, 21:05
On Thu, 03 Apr 2008 10:36:01 +0200, <matthijsdezwart@gmail.com> wrote:

> Hoi,
>
> even een simpele vraag, die ik toch niet kon vinden met google.
>
> In mysql kun je een query maken waar je een if functie in zet. Zo
> bijvoorbeeld:
>
> select kolom1, kolom2,if(kolom3 = 'd' ,-kolom4,kolom4) as omzet,
> kolom5 from tabel;
>
> maar als ik dit in ms sql plemp...werk het voor geen meter.
>
> ik de varianten
>
> select kolom1, kolom2,if(kolom3 = 'd' then -kolom4 else kolom4) as
> omzet, kolom5 from tabel;
>
> select kolom1, kolom2,if(kolom3 = 'd' {-kolom4}{kolom4}) as omzet,
> kolom5 from tabel;
>
> werken niet. Iemand een idee hoe ik het wel zo kan krijgen dat het net
> zo werkt als bij vriend mySQL?
> Groeten,

Waarschijnlijk (ik heb geen MSSQL) werkt CASE syntax wel:

SELECT
CASE kolom3
WHEN 'd' THEN - kolom4
ELSE kolom4
END
as omzet
FROM tabel;

Deze CASE expression ken je waarschijnlijk ook wel als een switch, je kunt
AFAIK ongelimiteerd WHEN .. THEN ... clausules toevoegen. Bonus is dat dit
OOK werkt in MySQL.
--
Rik Wasmus

matthijsdezwart@gmail.com
04/04/08, 09:25
> Waarschijnlijk (ik heb geen MSSQL) werkt CASE syntax wel:
>
> SELECT
> CASE kolom3
> WHEN 'd' THEN - kolom4
> ELSE kolom4
> END
> as omzet
> FROM tabel;
>
> Deze CASE expression ken je waarschijnlijk ook wel als een switch, je kunt
> AFAIK ongelimiteerd WHEN .. THEN ... clausules toevoegen. Bonus is dat dit
> OOK werkt in MySQL.

Rik bedankt. Het werkt idd.
Groeten,

Matthijs