SI, pero MySQL
no admite el uso de alias en el WHERE, como tampoco admite el uso de funciones agregadas.
Si lo que quieres es realizar ese filtrado, debes hacerlo en el SELECT exterior de una subconsulta:
Código sql:
Ver originalSELECT campo1, campo2, idescap
FROM
(SELECT
idarticulo,
campo1,
campo2,
IF(campo3=variable, 6, 0) AS idescap,
publicar
FROM articulos) Tabla1
WHERE publicar='True' AND idescap=6
ORDER BY idarticulo LIMIT 5;
El uso de una subconsulta obliga a incluir el campo
idarticulo y el
publicar en la consulta interna o de lo contrario no se podrá usar para el ordenamiento o el filtrado.
MySQL si admite que un alias se use en un ORDER BY.