Toon posts:

[SQL] Case statement

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo ik ben bezig met een if of case statement in SQL..

Wat is de bedoeling.. als de kolom naam_2 leeg is dan moet cont.contrib_e worden geselecteerd, is naam_2 niet leeg dan moet er cont.contrib_d worden geselecteerd..

De onderstaande query gebuik ik:

SELECT pcoob.NAAM_1, pcob.VOOR_1, pcoob.ADRES, pcoob.POSTCODE, pcoob.PLAATS, pcoob.NAAM_2, extra1.Voluit, CONT.CONTIB_E, CONT.CONTIB_D, CASE WHEN Naam_2 = Naam_1 THEN cont.contrib_e else cont.contrib_d END AS contributie
FROM pcoob, extra1, CONT
WHERE (((pcoob.GESLACHT_1)=[extra1].[Afkorting]));

Helaas gaat het toch fout op de onderstaande regel:

CASE WHEN Naam_2 = Naam_1 THEN cont.contrib_e else cont.contrib_d END AS

Weet iemand hoe ik die wel goed kan krijgen ?

Note: Het wordt een query in Access

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

In SQL Server gaat dit via de isnull(...) functie, ik gok dat het in Access hetzelfde is...

Professionele website nodig?


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:52
Sinds wanneer is een IF een lus ?

Ik weet trouwens niet of Access een CASE statement kent in z'n SQL dialect, maar ik denk dat je anders eens naar IIF moet kijken.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:52
curry684 schreef op 18 juni 2004 @ 13:27:
In SQL Server gaat dit via de isnull(...) functie, ik gok dat het in Access hetzelfde is...
Niet helemaal, want in dit voorbeeld moet er een andere column getoond worden als een bepaald veld (naam) niet leeg is.

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op 18 juni 2004 @ 13:27:
Sinds wanneer is een IF een lus ?

Ik weet trouwens niet of Access een CASE statement kent in z'n SQL dialect, maar ik denk dat je anders eens naar IIF moet kijken.
daar was ik al bijna bang voor.. bij ieder case statement krijg ik zo ongeveer fouten :( .. zal ff zoeke op IIF

Verwijderd

Topicstarter
dit gaat beter met IIF

Code

SELECT pcoob.NAAM_1, pcoob.VOOR_1, pcoob.ADRES, pcoob.POSTCODE, pcoob.PLAATS, pcoob.NAAM_2, extra1.Voluit, CONT.CONTIB_E, CONT.CONTIB_D, IIf(pcoob.naam_2='',1,0) AS Contributie
FROM pcoob, extra1, CONT
WHERE (((pcoob.GESLACHT_1)=extra1.Afkorting));


Maaarrr pcoob.naam_2 = '' pakt hij niet als een leeg veld.. is er ook zoiets als LEN(pcoob.naam_2) mogelijk ? als ik tussen de quotes een naam plaats die ook in die kolom voorkom gaat het nl. wel goed :(

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:52
code:
1
IIF (naam_2 IS NULL, 1, 0)

gaat dat niet?

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op 18 juni 2004 @ 13:43:
code:
1
IIF (naam_2 IS NULL, 1, 0)

gaat dat niet?
SUPER WERKT !!! THNX !

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:52
NULL is niet hetzelfde als '' nl.

Er zijn hier de afgelopen dagen / weken wel een paar topics over geweest.

https://fgheysels.github.io/

Pagina: 1