Los alias de los campos en el SELECT no se pueden usar en los WHERE de la misma sentencia. Es una regla de TODOS los DBMS. En el WHERE sólo se pueden usar nombres de columnas físicas.
Para hacer eso ese SELECT debe generar una tabla derivada, es decir estár dentro de una subconsulta.
Código SQL:
Ver originalSELECT sc1
FROM (SELECT SUBSTR(sc,1,4) sc1
FROM sc) tablaresultado
WHERE sc1 = '7160'
Un par de cosas:
1) Los "AS" son obsoletos, no se requieren ni representan ventaja alguna desde hace mas de una década. ALgunos DBMS incluso te pueden marcar errores de sintaxis cuando los pones.
2) En MySQL las comillas (") se suelen usar en los nombres de objetos de base de datos, y NO en cadenas de texto. Ten cuidado porque pueden disparar errores inesperadamente si el servidor de MySQL no está
específicamente configurado para reconocerlos como cadenas de texto.