Announcement

Collapse
No announcement yet.

case Funktion funktioniert nicht

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • case Funktion funktioniert nicht

    Guten Morgen zusammen,

    Ich habe folgendes Problem.

    Bei diesem SQL Script

    select distinct au.INTERNERECHNR,au.RECHNUNGSDATUM,au.ABRTYPID, ab.BEZEICHNUNG, au.RECHEINSENDERID,e.mwstsatznr,au.MWSTID,e.einsen dernr,
    case when e.mwstsatznr=2 then 1.19 else 1 end as MWST,au.ABRTYPNR,
    case when ab.abrtypnr in (25,26,27,28,18,19,35) then 404100 else in (20,24) then 40400 else in(33,23,36,21) then 48300 else 0 end as Kontonr
    from auftrech au, abrtypen ab, einsender e
    where au.ABRTYPID=ab.ABRTYPID and ab.SCHLUESSELNR in (34,23,21,35,36,24,21) and au.RECHEINSENDERID=e.einsenderid and au.rechnungsdatum <'01.01.2008'

    wirft mir Oracle diesen Fehler aus

    Error at Command Line:3 Column:65
    Error report:
    SQL Error: ORA-00936: Ausdruck fehlt
    00936. 00000 - "missing expression"

    Der Fehler muss hier liegen
    case when ab.abrtypnr in (25,26,27,28,18,19,35) then 404100 else in (20,24) then 40400 else in(33,23,36,21) then 48300 else 0 end as Kontonr



    Ich muss anhand der verschiedenen Abrechnungsarten(ab.abrtypnr) verschiedene Konten ansprechen.

    Vielen Dank für Eure Mühe

    Gruß

    Martin

  • #2
    Hallo Martin,

    ein kurzer Blick in die Syntax-Beschreibung sollte Dir schon helfen. Es gibt nur eine ELSE Anweisung ohne jegliche Bedingung; vom WHEN darf es mehrere geben:

    CASE
    WHEN <bedingung1> THEN <Wert1>
    WHEN <bedingung2> Then <Wert2>
    ....
    ELSE <WertWennAllesNichtPasst> END
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Hallo Olaf,

      vielen Dank für Deine kompetente Hilfe.

      Und natürlich hast Du recht, wer lesen kann ist klar im Vorteil.

      Nochmals vielen Dank

      Gruß

      Martin

      P.S. Gibt es eigentlich ein wirklich gutes Buch um SQL-Kenntnisse zu verbessern?
      Dachte so an den O´Reilly, nur etwas umfangreicher beschrieben.

      Comment


      • #4
        Hallo,
        Gibt es eigentlich ein wirklich gutes Buch um SQL-Kenntnisse zu verbessern?
        Ob sich das immer so lohnt, jedes SQL-Funktion bis ins Detail zu kennen ?
        Speziell für Oracle könnte hier Oracle Survival Guide einen Blick wert sein.
        MfG
        Cheat-Sheets for Developers / Programming Quotes

        Comment

        Working...
        X