# sql syntax case

**URL:** https://www.pg-forum.de/t/sql-syntax-case/5131
**Category:** Andere Datenbanken
**Created:** [2. Mai 2010 um 10:35 UTC](https://www.pg-forum.de/t/sql-syntax-case/5131 "2010-05-02T10:35:57Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![absbegin](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/a/ba9def/32.png) [@absbegin](https://www.pg-forum.de/u/absbegin)
#### Post date: [2. Mai 2010 um 10:35 UTC](https://www.pg-forum.de/t/sql-syntax-case/5131/1 "2010-05-02T10:35:57Z")

</div>

Hallo liebe Forumsteilnehmer!  
Ich als absolute Anfängerin erstelle eine Datenbank mit staroffice base 9.0.  
Ging bisher auch ganz gut.  
Jetzt soll, wie ursprünglich nicht vorgesehen, eine bedingte Berechnung in einer Abfrage drin sein. Habe michschon mit „sql für dummies“ rumgeschlagen, aber ich kriegs nicht hin, brauche das Ergebnis aber am Montag. Ich glaube, es ist an sich nicht schwer. Vielleicht kann mir jemand helfen. das wäre sehr lieb.  
Das ist der Code, den ich durch den Abfrageassistenten bekomme.  
SELECT  
“0 Datentabelle”.“ID” AS “ID”,  
“0 Datentabelle”.“GOK” AS “GOK”,  
“0 Datentabelle”.“MOK” AS “MOK”,  
“0 Datentabelle”. "WSGK " AS “WSGK”,  
“0 Datentabelle”.“WSNN” AS “WSNN”  
“0 Datentabelle”.“Wasserspiegel” AS “Wasserspiegel”

FROM “0 Datentabelle” “0 Datentabelle”  
Ich möchte, dass im Fall,  
dass "WSGK " = uGOK ist  
in der Spalte “WSNN” eine Berechnung erfolgt mit „GOK-Wasserspiegel“, im anderen Fall „MOK-Wasserspiegel“.  
Ist CASE der geeignete Befehl?  
Wo genau muss ich ihn einfügen? Als Unterabfrage?  
Vielen Dank im Voraus!

---

<div class="post-metadata">

### Author: ![absbegin](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/a/ba9def/32.png) [@absbegin](https://www.pg-forum.de/u/absbegin)
#### Post date: [2. Mai 2010 um 12:04 UTC](https://www.pg-forum.de/t/sql-syntax-case/5131/2 "2010-05-02T12:04:04Z")

</div>

![]()Hallo ich habe die Abfrage nun so geändert:

SELECT id, gok, mok, ws\_gok\_mok, WS, WSNN From “0 Datentabelle”

where (case when ws\_gok\_mok = ‘u. gok’ then WSNN = gok-WS else WSNN = mok-WS end)

Fehlermeldung: S1000 General error java.lang.ClassCastException:  
[Ljava.lang.Object: cannot be cast to java.lang.Boolean in statemant [select id…usw.]

Kann mir jemand den/die Fehler sagen?  
Danke!

---

<div class="post-metadata">

### Author: ![akretschmer](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/a/a6a055/32.png) [@akretschmer](https://www.pg-forum.de/u/akretschmer)
#### Post date: [2. Mai 2010 um 12:36 UTC](https://www.pg-forum.de/t/sql-syntax-case/5131/3 "2010-05-02T12:36:01Z")

</div>

> [@absbegin](#):
>
> ![]()Hallo ich habe die Abfrage nun so geändert:
> 
> SELECT id, gok, mok, ws\_gok\_mok, WS, WSNN From “0 Datentabelle”
> 
> where (case when ws\_gok\_mok = ‘u. gok’ then WSNN = gok-WS else WSNN = mok-WS end)
> 
> Fehlermeldung: S1000 General error java.lang.ClassCastException:  
> [Ljava.lang.Object: cannot be cast to java.lang.Boolean in statemant [select id…usw.]
> 
> Kann mir jemand den/die Fehler sagen?  
> Danke!

Im WHERE geht das schon mal gar nicht. Und ob Dein DB-System es kann, weiß ich nicht.

So auf die schnelle geht es so:

select case when foo=‘1’ then ‘okay’ else ‘not okey’ end as my\_bool from table …

So, Flieger ist schon aufgerufen, flying back from malta…

---

<div class="post-metadata">

### Author: ![absbegin](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/a/ba9def/32.png) [@absbegin](https://www.pg-forum.de/u/absbegin)
#### Post date: [2. Mai 2010 um 17:46 UTC](https://www.pg-forum.de/t/sql-syntax-case/5131/4 "2010-05-02T17:46:58Z")

</div>

Danke akretschmer! Sehr nett, dass Du sogar aus dem Urlaub antwortest!!!

Mein Stand ist jetzt dieser:  
SELECT id, gok, mok, ws\_gok\_mok, WS,  
(case when ws\_gok\_mok = ‘u. gok’ then gok-WS else mok-WS end) as WSNN  
From “0 Datentabelle”

Das funktioniert soweit, allerdings möchte ich, dass die Spalte WSNN in “0 Datentabelle” den errechneten Wert übernimmt, was leider noch nnicht hinhaut.

Vielen Dank!

---

<div class="post-metadata">

### Author: ![absbegin](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/a/ba9def/32.png) [@absbegin](https://www.pg-forum.de/u/absbegin)
#### Post date: [3. Mai 2010 um 05:59 UTC](https://www.pg-forum.de/t/sql-syntax-case/5131/5 "2010-05-03T05:59:34Z")

</div>

Hat sich erledigt!  
Danke!

---

<div class="post-metadata">

### Author: ![system](https://www.pg-forum.de/uploads/default/original/1X/dc97a981dd26692d5fb52e8b8fc7c090d7b9559a.png) [@system](https://www.pg-forum.de/u/system)
#### Post date: [21. Februar 2021 um 07:12 UTC](https://www.pg-forum.de/t/sql-syntax-case/5131/6 "2021-02-21T07:12:31Z")

</div>


