Heim >Datenbank >MySQL-Tutorial >So verketten und vergleichen Sie Zeichenfolgen mithilfe von MySQL SELECT mit CONCAT: Vermeiden Sie den Fehler „Unbekannte Spalte'?

So verketten und vergleichen Sie Zeichenfolgen mithilfe von MySQL SELECT mit CONCAT: Vermeiden Sie den Fehler „Unbekannte Spalte'?

DDD
DDDOriginal
2024-11-20 15:40:12895Durchsuche

How to Concatenate and Compare Strings Using MySQL SELECT with CONCAT: Avoiding the “Unknown Column” Error?

MySQL SELECT mit CONCAT-Bedingung verwenden

Wenn Sie mit einer Tabelle arbeiten, die Vor- und Nachnamenfelder enthält, besteht eine häufige Aufgabe darin, diese zu verketten eine einzelne Zeichenfolge für Vergleichs- oder Filterzwecke. Es kann jedoch rätselhaft sein, bei der Verwendung eines Alias ​​für die verkettete Zeichenfolge auf den Fehler „Unbekannte Spalte“ zu stoßen.

Um dies zu umgehen, ist es wichtig zu verstehen, dass Aliase nur auf die Ausgabe einer Abfrage anwendbar sind, nicht innerhalb der selbst abfragen. Um Zeichenfolgen zu verketten und zu vergleichen, haben Sie zwei Möglichkeiten:

Wiederholen der Verkettung:

SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast
FROM users
WHERE CONCAT(firstname, ' ', lastname) = "Bob Michael Jones"

Durch Wiederholen des Verkettungsausdrucks in der WHERE-Klausel stellen Sie sicher, dass Sie Sie vergleichen die tatsächlichen verketteten Werte.

Verwenden einer Unterabfrage:

SELECT * FROM (
    SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstLast
    FROM users
) base
WHERE firstLast = "Bob Michael Jones"

Indem Sie die Abfrage in eine Unterabfrage einschließen, erstellen Sie eine temporäre Tabelle mit einem Alias ​​( „base“ in diesem Beispiel), das die verkettete Zeichenfolge als Spalte enthält. Anschließend können Sie diese temporäre Tabelle nach dem gewünschten Vergleich filtern.

Das obige ist der detaillierte Inhalt vonSo verketten und vergleichen Sie Zeichenfolgen mithilfe von MySQL SELECT mit CONCAT: Vermeiden Sie den Fehler „Unbekannte Spalte'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn