Problema con Inner Join Funcion de tabla

16/11/2007 - 19:17 por Cristian Meneses | Informe spam
Buenas
Tengo la siguiente consulta

SELECT * FROM FichadasEmpleados
INNER JOIN DevHorasFichadas(FichadasEmpleados.IDLegajo, FechaFichada)
WHERE FechaFichada = '25/10/2007'

Me larga un error:
Línea 2: sintaxis incorrecta cerca de '.'
Si le saco FichadasEmpleados. me larga otro error
'IDLegajo' no es una opción OPTIMIZER LOCK HINTS reconocida.

Si ejecuto un select para probar la funcion funciona todo ok, devuelve
la tabla solicitada
SELECT * FROM DevHorasFichadas(1, '25/10/2007')

Como puedo hacer?
Gracias por su tiempo, saludos


Cristian Meneses
SQL Server 2000 SP4

Preguntas similare

Leer las respuestas

#1 jeastman
16/11/2007 - 20:26 | Informe spam
Hola Cristian.

Creo que te falta el on antes de la condición del join

SELECT * FROM FichadasEmpleados
INNER JOIN DevHorasFichadas on (FichadasEmpleados.IDLegajo, FechaFichada)
WHERE FechaFichada = '25/10/2007'

Mira en la segunda línea despues del nombre de la tabla
DevHorasFichadas, ahi está el on

SQL server te indica que hay un error en el punto porque consiguió algo
que no esperaba conseguir aun.

Saludos, espero que te sirva.

Cristian Meneses escribió:
Buenas
Tengo la siguiente consulta

SELECT * FROM FichadasEmpleados
INNER JOIN DevHorasFichadas(FichadasEmpleados.IDLegajo, FechaFichada)
WHERE FechaFichada = '25/10/2007'

Me larga un error:
Línea 2: sintaxis incorrecta cerca de '.'
Si le saco FichadasEmpleados. me larga otro error
'IDLegajo' no es una opción OPTIMIZER LOCK HINTS reconocida.

Si ejecuto un select para probar la funcion funciona todo ok, devuelve
la tabla solicitada
SELECT * FROM DevHorasFichadas(1, '25/10/2007')

Como puedo hacer?
Gracias por su tiempo, saludos


Cristian Meneses
SQL Server 2000 SP4
Respuesta Responder a este mensaje
#2 Alejandro Mesa
16/11/2007 - 21:28 | Informe spam
Cristian Meneses,

FROM
FichadasEmpleados
INNER JOIN
DevHorasFichadas(FichadasEmpleados.IDLegajo, FechaFichada)



En versiones previas a 2005, no se puede usar en la clausula FROM, una
funcion de usuario que recive como parametro el valor de una columna desde
las otras tablas que participan en la clausula. En la version 2005, se
incluyo el nuevo operador APPLY (CROSS APPLY y OUTER APPLY), para satisfacer
esa necesidad.


AMB


"Cristian Meneses" wrote:

Buenas
Tengo la siguiente consulta

SELECT * FROM FichadasEmpleados
INNER JOIN DevHorasFichadas(FichadasEmpleados.IDLegajo, FechaFichada)
WHERE FechaFichada = '25/10/2007'

Me larga un error:
Línea 2: sintaxis incorrecta cerca de '.'
Si le saco FichadasEmpleados. me larga otro error
'IDLegajo' no es una opción OPTIMIZER LOCK HINTS reconocida.

Si ejecuto un select para probar la funcion funciona todo ok, devuelve
la tabla solicitada
SELECT * FROM DevHorasFichadas(1, '25/10/2007')

Como puedo hacer?
Gracias por su tiempo, saludos


Cristian Meneses
SQL Server 2000 SP4

Respuesta Responder a este mensaje
#3 jeastman
16/11/2007 - 22:04 | Informe spam
Oops.

Disculpa, no me dí cuenta en mi primer comentario que era una función y
no una tabla.


jeastman escribió:
Hola Cristian.

Creo que te falta el on antes de la condición del join

SELECT * FROM FichadasEmpleados
INNER JOIN DevHorasFichadas on (FichadasEmpleados.IDLegajo, FechaFichada)
WHERE FechaFichada = '25/10/2007'

Mira en la segunda línea despues del nombre de la tabla
DevHorasFichadas, ahi está el on

SQL server te indica que hay un error en el punto porque consiguió algo
que no esperaba conseguir aun.

Saludos, espero que te sirva.

Cristian Meneses escribió:
Buenas
Tengo la siguiente consulta

SELECT * FROM FichadasEmpleados
INNER JOIN DevHorasFichadas(FichadasEmpleados.IDLegajo, FechaFichada)
WHERE FechaFichada = '25/10/2007'

Me larga un error:
Línea 2: sintaxis incorrecta cerca de '.'
Si le saco FichadasEmpleados. me larga otro error
'IDLegajo' no es una opción OPTIMIZER LOCK HINTS reconocida.

Si ejecuto un select para probar la funcion funciona todo ok, devuelve
la tabla solicitada
SELECT * FROM DevHorasFichadas(1, '25/10/2007')

Como puedo hacer?
Gracias por su tiempo, saludos


Cristian Meneses
SQL Server 2000 SP4
Respuesta Responder a este mensaje
#4 Cristian Meneses
19/11/2007 - 10:08 | Informe spam
Gracias Alejandro
Otra consulta, como puedo resolverlo entonces?
Puedo por ejemplo setear una tabla temporal al resultado de esta
funcion y asi luego hacer el JOIN con la tabla temporal?
Saludos


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