mysql ist wobei Klausel und Spalte alias Einschränkungen
Verwenden von Spalten -Aliase in MySQLs, wo die Klausel oft zum Fehler "#1054 - Unbekannte Spalte in 'In/All/irgendwelche Unterabfrage'" führt. Dieser Artikel erklärt, warum und bietet alternative Ansätze.
mysql benötigt Spaltennamen in, in denen Klauseln entweder direkt aus der Struktur der Tabelle stammen oder über Punktnotation abgeleitet sind. Spaltenaliase, temporäre Namen, die während der Abfrageverarbeitung zugewiesen sind, werden nicht erkannt.
Die MySQL -Dokumentation verbietet dies ausdrücklich. Der Grund ist Abfrageausführungsreihenfolge: Die Where -Klausel wird bewertet , bevor Aliase zugewiesen werden. Daher führt die Verwendung eines Alias in der WHERE -Klausel zu undefiniertem Verhalten.
Um dies zu überwinden, verwenden Sie die Klausel. Diese Klausel ist zum Filtern von Zeilen nach der Gruppierung und Aggregation konzipiert, wodurch sie beim Filtern berechneter Spalten (wie mit Aliase) geeignet ist. In Situationen, in denen ein Alias für die Filterung benötigt wird, bietet die Verwendung des Alias in der Klausel eine praktikable Problemumgehung.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3