SQL Server - Necesito ayuda expertos, Algo facil y a la vez tan dificil.

   
Vista:
Imágen de perfil de Francisco

Necesito ayuda expertos, Algo facil y a la vez tan dificil.

Publicado por Francisco pacodiaz0@hotmail.com (2 intervenciones) el 05/02/2015 20:11:59
Miren tengo esta tabla la cual es de pruebas, pero ha de cuenta que necesito sacar un query en el cual tomaremos como ejemplo la computer_name = 02-00-00207
trae un historial por fecha en el cual cada cambio va cambiando el campo version. En este caso solo me interesa traer en el reporte cada que cambie el username, es decir algo asi:

Nombre activo Dato user Version --no tabla
computer_name = 02-00-00207 08/10/2014 Paco 1 --asignacion
computer_name = 02-00-00207 09/10/2014 Hugo 2 --reasignacion
computer_name = 02-00-00207 10/10/2014 Hugo 3 --modificacion
computer_name = 02-00-00207 11/10/2014 Paco 4 --reasignacion
computer_name = 02-00-00207 12/10/2014 Paco 5 --modificacion
computer_name = 02-00-00207 13/10/2014 Paco 6 --modificacion
computer_name = 02-00-00207 14/10/2014 Paco 7 --modificacion
computer_name = 02-00-00207 15/10/2014 Luis 8 --reasignacion

El query solo me debe traer
Dato user Version
08/10/2014 Paco 1
09/10/2014 Hugo 2
11/10/2014 Paco 4
15/10/2014 Luis 8

Que condicion puedo usar para que vaya y verifique si el usuario es el mismo no me lo incluya en el resultado tomando como referencia la version, esto sin tener que usar tablas temporales, ya que si incluyo tablas temporales en el reporteador me marca error intero.

Se los agradeceria muchisimo, de todo corazon ya que llevo batallando con esto mas de un mes y no me atrevia a pedir ayuda hasta que encontre este gran foro.

Cualquier cosa o info, ahi esta mi correo si gustan agregarme a skype o simplemente enviarme correo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

Necesito ayuda expertos, Algo facil y a la vez tan dificil.

Publicado por Isaias (3186 intervenciones) el 06/02/2015 18:15:38
cual es la instrucción que debes usar, un GROUP BY, ¿Qué avance llevas, nos lo puedes mostrar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco

Necesito ayuda expertos, Algo facil y a la vez tan dificil.

Publicado por Francisco (2 intervenciones) el 06/02/2015 23:54:54
Saludos Isaias.

Pues realmente no llevo nada... los scripts que hice y probe no me funcionaron asi que los deseche.

Lo que necesito es un query simple. Por Ejemplo:

Select computer_name, update_time, username, version
from computer_history
where computer_name ='02-00-00207 '
and (username diferente al que sigue en el siguiente registro)

Pensaba hacerlo con un IF pero mi sabiduria no me alcanza todavia para esto.
Donde pueda decirle a la condicion que si la version es igual a version + 1 y
username <> a username. ingerese ese dato si no, valide el siguiente.

Espero me puedas ayudar Isaias te lo agradeceria mucho.

(No pido que me lo hagan amigos, solo que me digan que puedo hacer)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito ayuda expertos, Algo facil y a la vez tan dificil.

Publicado por MMan (2 intervenciones) el 13/02/2015 02:29:07
motor version ??
si es ... sqlserver 2012 o superior....

hay muchos ejemplos de las funciones LAG/ LEAD que devuelven la fila anterior o siguiente

select LAG(user) OVER (ORDER BY Dato) as user1,
LEAD(user) OVER (ORDER BY Dato) as user2
FROM latabla



y /o tal vez le puedes agregar un

WHERE user1 <> user2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar