Ver Mensaje Individual
  #11 (permalink)  
Antiguo 17/08/2010, 08:35
k_rol9
 
Fecha de Ingreso: agosto-2010
Mensajes: 29
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Hacer una consulta

Bueno mirando probé a hacer el siguiente case pero no funciona, nose si no se puede o esta mal la sintaxis o que:

var sql = "SELECT CASE stdUsuarios.nombre, stdUsuarios.apellidos WHEN apellidos < '" + ape_guardia + "' THEN TOP apellidos"
+ " WHEN apellidos = '" + ape_guardia + "' THEN nombre > '" + nom_guardia + "' ELSE apellidos > '" + ape_guardia + "' END"
+ " 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";

lo que pretendo con el case es:
- si los apellidos son menores que el de guardia que vuelva al 1º alfabeticamente
- si el apellidos es igual al de guardia, que obtenga el de mayor nombre
- sino, (es decir q hay alguno mayor) que saque ese

que está mal??
Saludos