19/08/2010, 02:13
|
| | Fecha de Ingreso: agosto-2010
Mensajes: 29
Antigüedad: 14 años, 5 meses Puntos: 0 | |
Respuesta: Hacer una consulta Que va sigue sin funcionarme, además si pongo lo de: "OR apellidos+nombre > '" + ape_guardia+nom_guardia + "' = NULL)"+ " UNION"+ " <SELECT para el primer guardian>"+ " order by apellidos, nombre";
me da error la sentencia sql.
Y quitando eso y poniendo lo siguiente: var sql = "SELECT stdUsuarios.nombre, stdUsuarios.apellidos, stdUsuarios.id"
+ " FROM (stdUsuarios_stdRoles INNER JOIN stdUsuarios ON stdUsuarios_usuario = stdUsuarios.id)"
+ " INNER JOIN stdAnotacionesCalendario ON stdUsuarios.id = stdUsuarios_id"
+ " WHERE stdRoles_rol = '" + id_rol + "' AND (excepcion = 0 OR horas != 0)"
+ " AND DATEPART(dd, fecha)=" + date.getDate()
+ " AND DATEPART(mm, fecha)=" + (date.getMonth() + 1)
+ " AND DATEPART(yy, fecha)=" + date.getFullYear()
+ " AND apellidos+nombre > '" + ape_guardia + nom_guardia + "'"
+ " UNION"
+ " SELECT TOP 1 stdUsuarios.nombre, stdUsuarios.apellidos, stdUsuarios.id"
+ " FROM (stdUsuarios_stdRoles INNER JOIN stdUsuarios ON stdUsuarios_usuario = stdUsuarios.id)"
+ " INNER JOIN stdAnotacionesCalendario ON stdUsuarios.id = stdUsuarios_id"
+ " WHERE stdRoles_rol = '" + id_rol + "' AND (excepcion = 0 OR horas != 0)"
+ " AND DATEPART(dd, fecha)=" + date.getDate()
+ " AND DATEPART(mm, fecha)=" + (date.getMonth() + 1)
+ " AND DATEPART(yy, fecha)=" + date.getFullYear()
+ " ORDER BY apellidos, nombre";
Me saca el valor bien hasta q llego al ultimo q me devuelve esa misma persona. Además dependiendo de donde ponga el TOP 1 me saca unos valores y otros pero ninguno bien del todo.
Para el ejemplo de arriba me hace lo siguiente:
Tengo 3 personas para rotar:
Aguera
Camblor
Matas
Hasta q el último guardia es Matas lo hace bien pues muestra al siguiente alfabeticamente pero cuando llego a matas me dice q el siguiente es matas otra vez.
Alguna otra idea?
Muchas gracias de todas formas por responder¡¡¡ |