MudGuard: concat(...) AS neuer_feldname nicht im select-Teil?

Beitrag lesen

Hi,

ich möchte mir aus zwei Feldern ein neues basteln, um einen Stringvergleich auf die Inhalte beider Felder anzuwenden. MySQL5 meckert, dass der Feldname 'Volltext' in der where-Klausel nicht existiere:

Richtig, das liegt an der Auswertungsreihenfolge.

FROM, WHERE, GROUP BY, SELECT (1), HAVING, ORDER BY, SELECT (2)

Zu dem Zeitpunkt, zu dem WHERE ausgewertet wird, ist der ALIAS für die zusammengesetzte Spalte noch gar nicht bekannt, da SELECT erst nach dem WHERE ausgewertet wird.

Du müßtest also bei WHERE auch nochmal den CONCAT angeben.

Select wird 2mal ausgewertet, da für HAVING die having-Werte bekannt sein müssen (im HAVING können die Aliase benutzt werden).

cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.