Heim > Datenbank > MySQL-Tutorial > Hauptteil

Warum gibt MySQL bei der Verwendung von CONCAT in SELECT-Abfragen den Fehler „Unbekannte Spalte' aus?

Mary-Kate Olsen
Freigeben: 2024-11-17 17:49:02
Original
362 Leute haben es durchsucht

Why Does MySQL Throw an

CONCAT-Bedingungen in MySQL-SELECT-Abfragen verstehen

Beim Umgang mit Feldern, die Namen oder andere verkettete Informationen darstellen, bietet die CONCAT-Funktion von MySQL ein vielseitiges Werkzeug für Werte kombinieren und Vergleiche durchführen. Die Verwendung von CONCAT in SELECT-Abfragen kann jedoch zu dem Fehler „Unbekannte Spalte“ für den dem verketteten Ausdruck zugewiesenen Alias ​​führen.

Um diesen Fehler zu beheben, ist es wichtig zu verstehen, dass Aliase in SELECT-Abfragen nur auf die anwendbar sind Ausgabespalten und werden in der Abfrage selbst nicht erkannt. Um einen CONCAT-Ausdruck in einer WHERE-Bedingung zu verwenden, haben Sie daher zwei Möglichkeiten:

  1. Wiederholen Sie den CONCAT-Ausdruck:

    Statt der Verwendung von Alias, wiederholen Sie den CONCAT-Ausdruck innerhalb der WHERE-Klausel:

    SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast 
    FROM users
    WHERE CONCAT(firstname, ' ', lastname) = "Bob Michael Jones"
    Nach dem Login kopieren
  2. Umschließen Sie die Abfrage:

    Alternativ können Sie die ursprüngliche Abfrage umschließen in eine Unterabfrage und weisen Sie dem CONCAT-Ausdruck in der Unterabfrage einen Alias ​​zu:

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

In beiden Fällen vergleicht die Abfrage erfolgreich den verketteten Wert der Felder „Vorname“ und „Nachname“ mit dem bereitgestellten Zeichenfolge „Bob Michael Jones“ und ruft die gewünschten Ergebnisse ab.

Das obige ist der detaillierte Inhalt vonWarum gibt MySQL bei der Verwendung von CONCAT in SELECT-Abfragen den Fehler „Unbekannte Spalte' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage