Un select que no funciona.

12/01/2005 - 17:23 por JOSE ANTONIO | Informe spam
SELECT CODIGO1,CODIGO2,CODIGO3,FUNCION(CODIGO1,CODIGO2,CODIGO3) AS CODIGO4
FROM TABLA T WHERE T.CODIGO4='123'

En este select no reconoce la columna T.CODIGO4 para poder preguntar por
ella.

SELECT CODIGO1,CODIGO2,CODIGO3,FUNCION(CODIGO1,CODIGO2,CODIGO3) AS CODIGO4
FROM TABLA T ORDER BY T.CODIGO4

Sin embargo en este select si que reconoce esta columna.

¿Cual es la explicacion? y como puedo preguntar el el where por el resultado
de FUNCION sin tener que reescribirla cada vez que la necesite dentro del
mismo select?.


Saludos
 

Leer las respuestas

#1 Salvador Ramos
12/01/2005 - 18:22 | Informe spam
Hola:

En el WHERE no puedes utilizar el nombre de alias que estás asignando en el
select. Para hacer lo que indicas debes poner lo siguiente:

SELECT CODIGO1,CODIGO2,CODIGO3,FUNCION(CODIGO1,CODIGO2,CODIGO3) AS CODIGO4
FROM TABLA T WHERE FUNCION(CODIGO1,CODIGO2,CODIGO3)='123'


Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)

"JOSE ANTONIO" escribió en el mensaje
news:e0ur%23LM%
SELECT CODIGO1,CODIGO2,CODIGO3,FUNCION(CODIGO1,CODIGO2,CODIGO3) AS CODIGO4
FROM TABLA T WHERE T.CODIGO4='123'

En este select no reconoce la columna T.CODIGO4 para poder preguntar por
ella.

SELECT CODIGO1,CODIGO2,CODIGO3,FUNCION(CODIGO1,CODIGO2,CODIGO3) AS CODIGO4
FROM TABLA T ORDER BY T.CODIGO4

Sin embargo en este select si que reconoce esta columna.

¿Cual es la explicacion? y como puedo preguntar el el where por el
resultado de FUNCION sin tener que reescribirla cada vez que la necesite
dentro del mismo select?.


Saludos

Preguntas similares