Ich versuche dies in meinem Kopf zu kompilieren. Ich habe eine Tabelle mit Vor- und Nachnamenfeldern und ich habe eine Zeichenfolge wie "Bob Jones" oder "Bob Michael Jones" und mehrere andere.
Die Sache ist, ich habe zum Beispiel Bob im Vornamen und Michael Jones im Nachnamen
Also versuche ich es
SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast
FROM users
WHERE firstlast = "Bob Michael Jones"
aber es heißt unbekannte Spalte "firstlast" .. kann jemand bitte helfen?
Versuche dies:
quelle
quelle
Verwenden Sie CONCAT_WS ().
Das erste Argument ist das Trennzeichen für den Rest der Argumente.
quelle
CONCAT_WS(' ', ..
Versuchen:
Ihr Alias firstlast ist in der where-Klausel der Abfrage nur verfügbar, wenn Sie die Abfrage als Unterauswahl ausführen.
quelle
Es gibt eine Alternative zum Wiederholen des
CONCAT
Ausdrucks oder zum Verwenden von Unterabfragen. Sie können dieHAVING
Klausel verwenden, die Spaltenaliasnamen erkennt.Hier ist eine funktionierende SQL-Geige .
quelle