Die folgende Abfrage gibt eine Ergebnismenge aller new_name
aus der Tabelle names
Wie schreibt man eine WHERE-Anweisung basierend auf dem Wert einer CASE-Anweisung?
SELECT
CASE
WHEN nickname = '' THEN fullname ELSE nickname END AS new_name,
FROM names
ich von new_name
mithilfe der folgenden Abfrage
SELECT
CASE
WHEN nickname = '' THEN fullname ELSE nickname END AS new_name,
FROM names
WHERE new_name LIKE '%Joh%'
Allerdings erhalte ich die Fehler
suchen bin versuchtUnbekannte Spalte 'neuer_name' in 'where clause'
Gibt es eine Möglichkeit, diese Funktionalität ohne eine Unterabfrage zu funktionieren?
Sie haben einen Tippfehler - das ; nach der Klausel von. Es dass es? –
Hat sich mysql nicht vereinigt? –
@SteveMallory - Guter Fang, aber ich denke nicht, dass das das Problem ist. Ich habe die Abfrage aus Gründen des Beispiels vereinfacht und dabei einen Tippfehler erstellt – user784637