Stel uw vraag
0

kan ik CASE WHEN nesten in een sql statement?

gevraagd 2018-09-11 10:30:59 +0200

Nieuweling gravatar image

updated 2018-09-14 17:34:58 +0200

Ik wil de volgende 2 statements in één doen om te voorkomen dat ik meer dan één kolom krijg voor transactie

CASE "Tabel1"."Code" WHEN 'DV' THEN 'Kosten' END "Transactie1", CASE "Tabel1"."Code" WHEN 'IC' THEN 'Incasso' END "Transactie2",

bewerken retag markeer ongewenst sluiten samenvoegen verwijderen

3 Antwoorden

0

beantwoord 2018-09-13 22:36:44 +0200

Ratslinger gravatar image

Hallo,

CASEWHEN wordt gebruikt in HSQL Embedded DB (standaard). Als een andere DB wordt gebruikt, is deze mogelijk niet beschikbaar. Het gebruik is:

CASEWHEN (voorwaarde, waarderesultaat, foutresultaat)

Als "Code" alleen 'DV' of 'IC' heeft, dan hebt u het volgende nodig:

CASEWHEN ("Tabel1". "Code" = 'DV', 'Kosten', 'Incasso') 'Transactie'

Voor meer dan 2 voorwaarden kun je het nesten:

CASEWHEN ("Tabel1". "Code" = 'DV', 'Kosten', CASEWHEN ("Tabel1". "Code" = 'IC', 'Incasso', 'Onbekend')) "Transactie"

Sorry voor vertaalfouten.

bewerken markeer ongewenst verwijderen link meer

Commentaren

That indeed worked fine, Ratslinger! Thanks. Your translation is perfect. How to indicate that this is the correct answer?

Nieuweling gravatar imageNieuweling ( 2018-09-14 17:34:25 +0200 )bewerken

Als u geholpen bent, help anderen dan om te weten dat de vraag is beantwoord door te klikken op de ✔ in de linkerbovenhoek van het antwoord die aan de vraag voldoet.

Ratslinger gravatar imageRatslinger ( 2018-09-14 17:57:24 +0200 )bewerken

Dank, Ratslinger, Kun je me wijzen waar ik dit soort informatie had kunnen vinden?

Nieuweling gravatar imageNieuweling ( 2018-09-15 14:41:27 +0200 )bewerken

SQL-informatie is altijd specifiek voor de database en versie van de database die u gebruikt. Hier is de locatie van de HSQLDB v1.8 handleiding (alleen spijtig Engels): Hsqldb User Guide.

Specifieke sectie: Ingebouwde functies en opgeslagen procedures

Ratslinger gravatar imageRatslinger ( 2018-09-15 16:32:58 +0200 )bewerken

Syntax voor HQSL database is hier te vinden: http://hsqldb.org/web/hsqlDocsFrame.html

rwestein gravatar imagerwestein ( 2018-09-16 10:54:54 +0200 )bewerken

@rwestein Je moet voorzichtig zijn met de versie. Uw verwijzing is naar v2.4 en de basis ingesloten versie is 1.8

Er zijn items mogelijk in v2.4 die niet werken in v1.8

Ratslinger gravatar imageRatslinger ( 2018-09-16 16:09:15 +0200 )bewerken

Dank voor de verwijzingen en waarschuwingen!

Nieuweling gravatar imageNieuweling ( 2018-09-19 20:34:53 +0200 )bewerken
0

beantwoord 2018-09-11 18:31:40 +0200

rwestein gravatar image

Ik zou daar IF... voor gebruiken

bewerken markeer ongewenst verwijderen link meer
0

beantwoord 2018-09-12 09:56:00 +0200

Nieuweling gravatar image

Dank rwestein, maar ik krijg het niet voor elkaar. Ik ben begonnen met de simpele IF "Tabel1"."Code" = 'DV' THEN 'Kosten' END "Transactie" Maar ik krijg een foutmelding zonder verder commentaar. Ik kan de syntax van de IF THEN in het veld van een Query nergens vinden.

bewerken markeer ongewenst verwijderen link meer
Login/Registreer om te beantwoorden

Hulpmiddelen Vragen

1 volger

Statistieken

Gevraagd: 2018-09-11 10:30:59 +0200

Bekeken: 40 keer

Laatst bijgewertkt: Sep 14 '18