Forum
Tipps
News
Menu-Icon

SELECT mit IF

Hi,

Ich schreibe gerade an einr Abfrage, ich möchte wenn der Abgefragte Preis NULL ist, dass nichts da steht und wenn er eine Zahl ist: ein € dahinter kommt...
Leider funktioniert es nicht...


Zitat
$result = mysql_query('SELECT
                     `ID`, `Klasse`,
                            CASE WHEN Grundgebühr == 0 THEN  ELSE Grundgebühr . € END AS Grundgebühr,
                            CASE WHEN Übungsstunde == 0 THEN  ELSE Übungsstunde . € END AS Übungsstunde,
                            CASE WHEN Sonderstunde == 0 THEN  ELSE Sonderstunde . € END AS Sonderstunde,
                            CASE WHEN Theorieprüfung == 0 THEN  ELSE Theorieprüfung . € END AS Theorieprüfung,
                            CASE WHEN Praxisprüfung == 0 THEN  ELSE Praxisprüfung . € END AS Praxisprüfung,
                            CASE WHEN Bemerkung == 0 THEN -- ELSE Bemerkung END AS Bemerkung,
                            DATE_FORMAT(Datum, %d.%m) AS Datum,
                         FROM Preise
                        ORDER BY ID')
                  or die(mysql_error());

Danke im Voraus...
Gruß Jake

Antworten zu SELECT mit IF:

müsste das € Zeichen nicht in einfachen Anführungszeichen '€' stehen?

Nein das geht nicht dann kommt: 

Zitat
Parse error: syntax error, unexpected T_STRING in
Das liegt daran weil man dann die Anfürungszeichen von ...ry('SELECT... wieder schließen würde(, es geht auch nicht mit /' ?).

Danke
Gruß Jake

oh ja, mein Fehler. Ich schreibe die SQL-Anweisungen gewohnheitsgemäß in doppelte Anführungszeichen, eben weil ich die Einfachen und die Backticks drinnen brauche.

Escapen geht übrigens nicht mit Slash '/' sondern mit dem Backslash '\'. Versuche es also mal mit \'€\'

Dann kommt: 

Zitat
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '== 0 THEN ELSE Grundgebühr . '€' END AS Grundgebühr, ' at line 3
:(

hmh...

ich fürchte, da wirst du warten müssen, bis SQL-Freak da ist. Der kennt sich glaub ich besser mit SQL aus als ich.
 

Hab noch was gefunden.

Schau mal, ob dir nich concat() weiterhilft:

MySQL String-Funktionen

Danke für die angebotene Hilfe es hat sich geklärt,
ich kann das so nicht in der SQL Anfrage einbauen,
ich habe es anderes geklärt...

Danke
Gruß Jakob


« Parse errorWoltlab Forum Lizenz für 2er Version? »
 

Fremdwörter? Erklärungen im Lexikon!
Alphanumerische Zeichen
Alphanumerische Zeichen: Damit sind bestimmte Zeichenkombinationen gemeint, die aus Zahlen und einigen Buchstaben bestehen können. Während die Zeichenfolge "123...

Backslash
Backslash ist das englische Wort für den Rückwärtsschrägstrich "\". Er trennt Pfade in Windows- und DOS-Dateisystemen. Außerdem steht Backslash ...

Slash
Slash ist das englische Wort für Schrägstrich: Er wird in Unix-Dateisystemen (unter anderem bei Linux und Mac OS) zum Trennen von Verzeichnissen verwendet, aber...



Screenshot von ganzer Webseite machen – mit nur 3 Klicks!
Edge Browser: Google als Startseite (oder andere Webseiten!)