Michael: Ersetzen eines Wertes in der Ausgabe

Hallo Forum :-),

ich sitze gerade an meine SQL-Datenbank und versuche herauszufinden, wie ich ausgabe Werte modifizieren kann.

Also ich habe eine Spalte x, die boolean-Werte ausspuckt (1/0) und ich möchte, dass am ende der Abfrage stattdessen (Ja/Nein) herauskommen.

Also statt:              lieber:
Zeile 1: 1                Ja
Zeile 2: 0                Nein
zeile 3: 1                Ja

Wie mache ich das?

SELECT SpalteX FROM Table1...;

Mein Problem ist, dass ich nicht weiß wonach ich suchen soll, da ich nicht weiß wie das Umbennen von Werten bei der Ausgabe richtig heißt.

Vielen Dank für eure Hilfe

Michael

  1. echo $begrüßung;

    Also ich habe eine Spalte x, die boolean-Werte ausspuckt (1/0) und ich möchte, dass am ende der Abfrage stattdessen (Ja/Nein) herauskommen.
    Wie mache ich das?

    Oft haben die Datenbanksysteme Control Flow Functions dafür. Mit welchem arbeitest du? Hier die für MySQL: http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html

    echo "$verabschiedung $name";

    1. Hallo,

      ich arbeite an eine MS Access Datenbank.

    2. echo $begrüßung;

      hi!

      ich denke es würde in jedem fall so gehen:
      if ($datenbankwert == "1"){$datenbankwert = "Ja";}
      else {$datenbankwert = "Nein";}

      lg,
      der-daniel

      1. echo $begrüßung;
        hi!

        ich denke es würde in jedem fall so gehen:
        if ($datenbankwert == "1"){$datenbankwert = "Ja";}
        else {$datenbankwert = "Nein";}

        lg,
        der-daniel

        Hi,

        hm nein funktioniert nicht.

        erwähnte ich, dass die Modifikation innerhalb des SQL-Statements gemacht werden sollte?

        also so a la:
        SELECT IF(SpalteX=true) THEN "Ja" ELSE "Nein"
        Kann mir jemand sagen, wie das mit MS Access-SQL funktioniert?

        dankeschön :-)

        Michael

        1. echo $begrüßung;

          SELECT IF(SpalteX=true) THEN "Ja" ELSE "Nein"
          Kann mir jemand sagen, wie das mit MS Access-SQL funktioniert?

          CASE ... WHEN ... END ist recht verbreitet. Der MS SQL Server müsste das kennen.

          echo "$verabschiedung $name";

          1. CASE ... WHEN ... END ?

            also CASE SpalteX WHEN "1"...und dann?

            1. Hallo Michael,

              CASE ... WHEN ... END ?

              Soweit ich weiß, unterstützt Microsoft Access _nicht_

              CASE ... WHEN ... END,

              JetSQL, der SQL-Dialekt der JetEngine, dem Datenbankmanagementsystem hinter MS Access hat mit Transact-SQL, dem SQL-Dialekt des MS SQL-Server nichts zu tun.

              Du kannst aber

              IIf(<ausdruck1>, <ausdruck2>, <ausdruck3>)

              verwenden. Die durchaus sehr gute Online-Hilfe von Microsoft Access weiß mehr über IIf() und noch viel mehr über JetSQL, ich zitiere:

              <zitat quelle="MS Access Onlinehilfe">
              IIf (Funktion)

              Gibt einen von zwei Teilen zurück, abhängig von der Auswertung eines Ausdrucks.

              Syntax

              IIf(expr, truepart, falsepart)

              Die Syntax der IIf-Funktion besteht aus folgenden benannten Argumenten:

              Argument Beschreibung
              expr Erforderlich. Der auszuwertende Ausdruck.
              truepart Erforderlich. Der zurückgegebene Wert oder Ausdruck, wenn expr den Wert True ergibt.
              falsepart Erforderlich. Der zurückgegebene Wert oder Ausdruck, wenn expr den Wert False ergibt.

              Hinweise

              IIf wertet immer sowohl den Teil truepart als auch den Teil falsepart aus, auch dann, wenn nur einer von beiden Teilen zurückgegeben wird. Aus diesem Grund kann es zu unerwünschten Nebeneffekten kommen. Wenn z. B. die Auswertung von falsepart zu einem Fehler aufgrund einer Division durch Null führt, tritt ein Fehler auch dann auf, wenn expr den Wert True hat
              </zitat>

              Du solltest sie benutzen :-)

              Freundliche Grüße

              Vinzenz