Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Ayuda Con Query EN sql SERVER

Estas en el tema de Ayuda Con Query EN sql SERVER en el foro de SQL Server en Foros del Web. Buenas compañeros del foro de la web una vez mas necesitando de su ayuda, y para no dar mas rodeos aqui esta mi problemita resulta ...
  #1 (permalink)  
Antiguo 22/04/2009, 09:37
 
Fecha de Ingreso: febrero-2009
Mensajes: 15
Antigüedad: 15 años, 3 meses
Puntos: 0
Ayuda Con Query EN sql SERVER

Buenas compañeros del foro de la web una vez mas necesitando de su ayuda, y para no dar mas rodeos aqui esta mi problemita resulta que tengo que hacer un informe entonces necesito sacar datos de dos tablas, las tablas se llaman movimiento y revisadas entre ellas solo se relacionan por un numero de consecutivo pero bueno aqui les explico con un ejemplo que es lo que necesito

tabla movimiento

consecutivo fecha_movimiento
12134566 01/01/2009
12134567
12134565 01/01/2009
12134563 01/01/2009
12134561 01/01/2009
12134524
12134523 01/01/2009
12134556 01/01/2009
12134578
12134589 01/01/2009
12134521 01/01/2009
12134548
12134578 01/01/2009

tabla revisadas

consecutivo fecha_revision
12134566 04/01/2009
12134567 04/01/2009
12134565
12134563 05/01/2009
12134561 01/01/2009
12134524 01/01/2009
12134523 04/01/2009
12134556 02/01/2009
12134578 04/01/2009
12134589 05/01/2009
12134521
12134548 04/01/2009
12134578

cada una d estas tablas tiene muchos mas campos pero los que necesito son esos dos de cada una.
bueno el objetivo de lo que necesito es primero, traer los campos donde esta el numero de consecutivo y se ha realizado tanto una fecha de movimiento como una fecha de revision, y despues de eso necesito que me traiga los datos donde hay una fecha de movimiento pero no una de revision y despues los datos donde hay una fecha de revision y no una de movimiento, entonces el resultado que deberia obtener en el query deberia ser el siguiente:

consecutivo fecha_revision fecha_movimiento
12134566 04/01/2009 01/01/2009
12134563 05/01/2009 01/01/2009
12134561 01/01/2009 01/01/2009
12134523 04/01/2009 01/01/2009
12134556 02/01/2009 01/01/2009
12134589 05/01/2009 01/01/2009
12134567 04/01/2009
12134524 01/01/2009
12134578 04/01/2009
12134548 04/01/2009
12134565 01/01/2009
12134521 01/01/2009
12134578 01/01/2009

como ven ese seria el resultado obtenido de la busqueda, primero me mostraria las que tienen las dos fechas luego la que tiene fecha de revision y luego la de fecha de movimiento.

Les quedo muy agradecido por la ayuda ya q ustedes me han ayudado bastante y en realidad necesito acabar eso
  #2 (permalink)  
Antiguo 22/04/2009, 11:01
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 11 meses
Puntos: 220
Respuesta: Ayuda Con Query EN sql SERVER

Prueba con lo Siguiente
Código sql:
Ver original
  1. SELECT R.Consecutivo,
  2.            CASE
  3.                   WHEN (R.Fecha_Revision IS NULL) AND (NOT R.Fecha_Movimiento IS NULL) THEN
  4.                              NULL
  5.                   ELSE
  6.                              R.Fecha_Revision
  7.            END AS FechaRevision
  8.            CASE
  9.                   WHEN (NOT R.Fecha_Revision IS NULL) AND (R.Fecha_Movimiento IS NULL) THEN
  10.                              NULL
  11.                   ELSE
  12.                              R.Movimiento
  13.            END AS FechaMovimiento,
  14.            CASE
  15.                   WHEN (NOT R.Fecha_Revision IS NULL) AND (NOT R.Fecha_Movimiento IS NULL) THEN
  16.                              1
  17.                   WHEN (NOT R.Fecha_Revision IS NULL) AND (R.Fecha_Movimiento IS NULL) THEN
  18.                              2
  19.                   WHEN (R.Fecha_Revision IS NULL) AND (NOT R.Fecha_Movimiento IS NULL) THEN
  20.                              3
  21.            END AS Orden
  22. FROM Revision R
  23. INNER JOIN Movimiento M ON (R.Consecutivo = M.Consecutivo)
  24. ORDER BY Orden
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 23/04/2009, 09:54
 
Fecha de Ingreso: febrero-2009
Mensajes: 15
Antigüedad: 15 años, 3 meses
Puntos: 0
Ayuda Con Query EN sql SERVER

Muchas gracias con la ayuda pero ps hubo algo q no especifique muy bien y es que tambien se da el caso que no hayan movimientos pero si revisiones y viceversa osea no siempre el tamaño de la tabla es es mismo, espero que esten muy bien y en espera de una pronta ayuda. Si tiene tiempo no le veo problema y nos contactamos por mail que en realidad necesito hacer eso.

mejor dicho quedaria algo asi con lo q acabo de decir

tabla movimiento
consecutivo fecha_movimiento
12134566 01/01/2009
12134567
12134565 01/01/2009
12134563 01/01/2009
12134561 01/01/2009
12134523
12134556 01/01/2009
12134578
12134548
12134578 01/01/2009


tabla revisadas
consecutivo fecha_revision
12134566 04/01/2009
12134567 04/01/2009
12134565
12134563 05/01/2009
12134561 01/01/2009
12134524 01/01/2009
12134523 04/01/2009
12134556 02/01/2009
12134578 04/01/2009
12134589 05/01/2009
12134521
12134548 04/01/2009
12134578


consecutivo fecha_revision fecha_movimiento
12134566 04/01/2009 01/01/2009
12134563 05/01/2009 01/01/2009
12134561 01/01/2009 01/01/2009
12134523 04/01/2009 01/01/2009
12134556 02/01/2009 01/01/2009
12134589 05/01/2009 01/01/2009
12134567 04/01/2009
12134524 01/01/2009
12134578 04/01/2009
12134548 04/01/2009
12134565 01/01/2009
12134521 01/01/2009
12134578 01/01/2009


Entonces mi inqietud es como hago para que me muestre los datos en los cuales estan las dos fechas en las dos tablas con el mismo numero de consecutivo, luego los datos que no tienen fecha de movimiento, luego los datos que no tienen fechaderevision, hay que tener en cuenta que no siempre estan los mismos numeros de consecutivos en las dos tablas. por ejemplo si en la tabla revision tengo 20 datos no es obligatorio que en movimiento esten los mismos 20 datos, pero si necesito sacar las 20 fechas de revision, tambien es el mismo caso contrario si en movimiento hay 20 datos no es obligatorio que haya igual, menor o mayor cantidad en revision, pero de igual forma necesito la fecha de ese consecutivo.

Disculpen tanta molestia pero en realidad necesito hacer eso, y no tengo como mucha idea ni de como empezar claro, que la ayuda de Dradi puede ser un buen punto de arranque pero es q hay me toma solo los datos que estan en las dos tablas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:41.