Announcement

Collapse
No announcement yet.

Case im Where nötig

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

  • Case im Where nötig

    Hallo,

    habe folgendes Problem:
    Code:
    ....
    WHERE
                CASE WHEN(bedingung < 10) THEN 
             Jahr_AKTUELL BETWEEN  2010 AND 2012
             ELSE                              
               JAHR_ALT BETWEEN 1999 AND 2003
              END .....
    JAHR_ALT hat eine andere Anzeige als Jahr_AKTUELL also kann ich Jahr_aktuell nicht einfach 1999 - 2003 zuweisen , ich möchte es schon so wie in diesem Code geschrieben, aber wie ist das Umsetzbar?

  • #2
    Man kann das auch anders schreiben Das CASE Statement erscheint mir in einer WHERE Klausel doch etwas seltsam

    [highlight=sql]
    WHERE
    (
    (bedingung < 10) AND (jahr_aktuell BETWEEN 2010 AND 2012)
    )
    OR
    (
    (bedingung > 9) AND (jahr_alt BETWEEN 1999 AND 2003)
    )
    [/highlight]

    Comment


    • #3
      Originally posted by fanderlf View Post
      Man kann das auch anders schreiben Das CASE Statement erscheint mir in einer WHERE Klausel doch etwas seltsam

      [highlight=sql]
      WHERE
      (
      (bedingung < 10) AND (jahr_aktuell BETWEEN 2010 AND 2012)
      )
      OR
      (
      (bedingung > 9) AND (jahr_alt BETWEEN 1999 AND 2003)
      )
      [/highlight]
      hi, danke für die antwort ... sorgen die klammern dafür das beides erfüllt sein muss? also das im falle das die bedingung nicht erfüllt ist auch der AND teil nicht ausgeführt wird?

      Comment


      • #4
        Puh das weiss ich leider nicht genau. Ich verwende Klammern eigentlich immer wenn ich mir nicht sicher bin welcher Operand zuerst ausgeführt wird

        Comment


        • #5
          das würde ja bedeuten das trotz beider bedingungen einträge für jahr_aktuell und jahr eingetragen werden ?

          Comment

          Working...
          X