Hola Pablo El error es el siguiente:
) ORDER BY FECHAHORA
debe decir ) Order by entrada Perdón por el error Daniel El día 30/01/07, Pablo Satelier <[EMAIL PROTECTED]> escribió:
Hola Daniel, gracias por responder,….te comento que copie y pegué lo que me dijiste en el editor del SQL, y me tira un cartel que dice.."Sintaxis incorrecta cerca de la palabra clave ORDER". Estoy utilizando el SQLServer 7.0, puede ser que esta versión no contemple esa sintaxis? Saludos, Pablo.- ------------------------------ *De:* gufa@mug.org.ar [mailto:[EMAIL PROTECTED] *En nombre de *Daniel Calvin *Enviado el:* Martes, 30 de Enero de 2007 14:14 *Para:* gufa List Member *Asunto:* [gufa] No me ordena bien el sql Hola Pablo debes hacer esto: Select * from ( <<MiUnionAquí>>) Where <<MiCondicionAqui>> Order by <<MiOrdenAqui>> en tu caso Select * from ( SELECT Horarios.fechahora AS entrada, GETDATE() AS SALIDA, HORARIOS.IDEMPLEADO, HORARIOS.FECHAHORA, EMPLEADOS.ID <http://empleados.id/>, EMPLEADOS.NOMBRE + SPACE(1) + EMPLEADOS.APELLIDO AS NOMBRE, SPACE(15) AS NOMBREDIA FROM Horarios INNER JOIN Empleados ON Horarios.idEmpleado = Empleados.id <http://empleados.id/> WHERE (Horarios.Entrada = 1 AND EMPLEADOS.BORRADO = 0) UNION ALL (SELECT GETDATE() AS ENTRADA, Horarios.fechahora AS SALIDA, HORARIOS.IDEMPLEADO, HORARIOS.FECHAHORA, EMPLEADOS.ID <http://empleados.id/>, EMPLEADOS.NOMBRE + SPACE(1) + EMPLEADOS.APELLIDO AS NOMBRE, SPACE(15) AS NOMBREDIA FROM horarios INNER JOIN Empleados ON Horarios.idEmpleado = Empleados.id <http://empleados.id/> WHERE (Horarios.salida = 1 AND EMPLEADOS.BORRADO = 0)) ) ORDER BY FECHAHORA El día 30/01/07, *Pablo Satelier* <[EMAIL PROTECTED]> escribió: Hola gente,….los molesto por un tema que debería ser de muy fácil solución, pero la verdad que me esta quemando el bocho,..les comento: ..tengo una consulta SQL, que tira al servidor,..la consulta es asi… SELECT Horarios.fechahora AS entrada, GETDATE() AS SALIDA, HORARIOS.IDEMPLEADO, HORARIOS.FECHAHORA, EMPLEADOS.ID <http://empleados.id/>, EMPLEADOS.NOMBRE + SPACE(1) + EMPLEADOS.APELLIDO AS NOMBRE, SPACE(15) AS NOMBREDIA FROM Horarios INNER JOIN Empleados ON Horarios.idEmpleado = Empleados.id <http://empleados.id/> WHERE (Horarios.Entrada = 1 AND EMPLEADOS.BORRADO = 0) UNION ALL (SELECT GETDATE() AS ENTRADA, Horarios.fechahora AS SALIDA, HORARIOS.IDEMPLEADO, HORARIOS.FECHAHORA, EMPLEADOS.ID <http://empleados.id/>, EMPLEADOS.NOMBRE + SPACE(1) + EMPLEADOS.APELLIDO AS NOMBRE, SPACE(15) AS NOMBREDIA FROM horarios INNER JOIN Empleados ON Horarios.idEmpleado = Empleados.id <http://empleados.id/> WHERE (Horarios.salida = 1 AND EMPLEADOS.BORRADO = 0)) ORDER BY FECHAHORA …el problema es que no me ordena por la columna de "FECHAHORA". Me parece que lo que esta haciendo es ordenar cada select por separado, es decir ordena el select antes del union, y el otro después del union, y los pone uno arriba de otro, pero entre ellos, no estan ordenados. Alguien tiene alguna pista de qué es lo que estoy haciendo mal?? Desde ya muchas gracias, saludos Pablo.- -- Daniel A. Calvin Cooperator Team Member http://www.cooperator.com.ar Microsoft Certified Professional
-- Daniel A. Calvin Cooperator Team Member http://www.cooperator.com.ar Microsoft Certified Professional