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

Preguntas similare

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

Respuesta Responder a este mensaje
#2 Manuel Vera
12/01/2005 - 18:38 | Informe spam
Hola, prueba con esto...

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

Salu2
MV


"JOSE ANTONIO" wrote in message
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


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida