Campos no es una variable. Es un alias que le asignas al resultado de concatenar los dos campos. No puedes comparar con ese nombre porque no existe al momento de ejecutar el filtro, existe sólo en el juego de resultados.
Tus opciones son...
1.- Usar una subconsulta para que puedas filtrar de esa manera:
Código:
SELECT CAMPOS
FROM (
SELECT HORA + MINUTOS AS CAMPOS
FROM $nom_tabla2
WHERE DIA=$var_dia
AND MES=$var_mes
AND ANO=$var_ano
) AS hm
WHERE CAMPOS >= $var_hora$var_minuto
AND CAMPOS <= $var_hora2$var_minuto2
ORDER BY CAMPOS ASC
2.- No usar el alias en el where
:
Código:
SELECT HORA + MINUTOS AS CAMPOS
FROM $nom_tabla2
WHERE DIA=$var_dia
AND MES=$var_mes
AND ANO=$var_ano
AND (HORA + MINUTOS) >= $var_hora$var_minuto
AND (HORA + MINUTOS) <= $var_hora2$var_minuto2
ORDER BY CAMPOS ASC
El order by es lo último que se evalúa en este caso, y en ese momento podemos usar el alias para ordenar.