if-Anweisungen in SQL

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • if-Anweisungen in SQL

    Hallo,

    ich bin gerade dabei, SQL zu lernen.

    In meiner Datenbank befindet sich eine Tabelle "test_tabelle" mit verschiedenen Spaltennamen, aber die Tabelle ist noch leer, was auch das entsprechende Statement bestätigt:

    Code:
    SELECT count (  *  )  FROM test_tabelle;
    Dieser Befehl gibt 0 zurück.

    Nun möchte ich ein SQL-Statement schreiben, das alle Zeilen der Tabelle zurückgibt, oder, falls die Tabelle keine Zeilen enthält, die Zeichenkette "falsch" ausgibt:

    Code:
    IF ( ( select count ( * ) FROM test_tabelle ) , SELECT * FROM test_tabelle , SELECT "falsch" );
    Dieser Befehl gibt einen SQL-Fehler zurück: "You have an error in your SQL syntax ..."

    Warum tritt dieser Fehler auf? Kann mir jemand helfen? Vielen Dank!

  • #2
    Welches Datenbank System verwendest du?
    Falls du MySQL verwendest, lass' dir gesagt sein, dass MySQL noch keine Unterabfragen beherrscht.


    Aber auch so wäre deine Abfrage falsch, denn wenn du als 2ten oder 3ten Paramter für IF() das Ergebnis einer Unterabfrage haben möchtest, darf diese Unterabfrage nur eine Spalte als Ergebnis liefern, so ist es zumindest in MySQL.
    Beim 3ten Parameter muss zudem das SELECT vor dem "Falsch" entfernt werden.
    [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
    [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
    [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

    © Harald Schmidt

    Kommentar


    • #3
      desweiteren reagiert mysql auf unnötige leerzeichen allergisch.
      Code:
      IF( != IF (
      aber das nur am rande ... ;-)
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        Re: if-Anweisungen in SQL

        Original geschrieben von NilsG
        Nun möchte ich ein SQL-Statement schreiben, das alle Zeilen der Tabelle zurückgibt, oder, falls die Tabelle keine Zeilen enthält, die Zeichenkette "falsch" ausgibt
        die idee an sich ist schon nonsense.
        warum prüfst du das nicht einfach im verarbeitenden script ab?
        mysql_num_rows() sei hier mal als stichwort genannt.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar

        Lädt...
        X