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

[SOLUCIONADO] Resultados de Consulta en detalle por fecha

Estas en el tema de Resultados de Consulta en detalle por fecha en el foro de SQL Server en Foros del Web. Buenos días; Hola amigos de foros del web, una vez mas acudo a uds para consultarles acerca de una duda que me asalta y me ...
  #1 (permalink)  
Antiguo 20/11/2013, 10:04
 
Fecha de Ingreso: mayo-2011
Mensajes: 47
Antigüedad: 13 años, 6 meses
Puntos: 1
Resultados de Consulta en detalle por fecha

Buenos días;

Hola amigos de foros del web, una vez mas acudo a uds para consultarles acerca de una duda que me asalta y me mortifica, y es la siguiente:

teniendo una tabla de trabajadores con estos datos:

consecutivo | trabajador | asistio
01 | 001 | 1
01 | 002 | 0
01 | 003 | 1
01 | 004 | 0

consecutivo | trabajador | asistio
02 | 001 | 1
02 | 002 | 1
02 | 003 | 0
02 | 004 | 0

consecutivo | trabajador | asistio
03 | 001 | 1
03 | 002 | 1
03 | 003 | 1
03 | 004 | 1

consecutivo | trabajador | asistio
04 | 001 | 0
04 | 002 | 1
04 | 003 | 1
04 | 004 | 1

Y una tabla que guarda las fechas

consecutivo | fecha
01 | 2013-11-01
02 | 2013-11-02
03 | 2013-11-03
04 | 2013-11-04

La idea es que al enviar el rango de fechas 2013-11-01 al 2013-11-04

el resultado sea el siguiente

trabajador | 001|002|003|004|suma
001 | 1 |1 |1 |0 |3
002 | 0 |1 |1 |1 |3
003 | 1 |0 |1 |1 |3
004 | 0 |0 |1 |1 |2

estaba pensando hacerlo en transact pero no manejo muy bien el tema y no obtuve el resultado que esperaba.

Agradezco cualquier ayuda que me puedan brindar.
  #2 (permalink)  
Antiguo 20/11/2013, 10:18
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Resultados de Consulta en detalle por fecha

Cita:
Iniciado por khryztall Ver Mensaje
estaba pensando hacerlo en transact pero no manejo muy bien el tema y no obtuve el resultado que esperaba.
Estaba pensando en ayudarte, pero no manejo muy bien el tema.......

Bueno mejor si te ayudo jejejeje

Código SQL:
Ver original
  1. CREATE TABLE #temp
  2. (
  3. consecutivo VARCHAR(20),
  4. trabajador VARCHAR(20),
  5. asistio INT
  6. )
  7.  
  8. INSERT INTO #temp VALUES ('01','001' ,1)
  9. INSERT INTO #temp VALUES ('01','002' ,0)
  10. INSERT INTO #temp VALUES ('01','003' ,1)
  11. INSERT INTO #temp VALUES ('01','004' ,0)
  12.  
  13. INSERT INTO #temp VALUES ('02','001',1)
  14. INSERT INTO #temp VALUES ('02','002',1)
  15. INSERT INTO #temp VALUES ('02','003',0)
  16. INSERT INTO #temp VALUES ('02','004',0)
  17.  
  18. INSERT INTO #temp VALUES ('03','001',1)
  19. INSERT INTO #temp VALUES ('03','002',1)
  20. INSERT INTO #temp VALUES ('03','003',1)
  21. INSERT INTO #temp VALUES ('03','004',1)
  22.  
  23. INSERT INTO #temp VALUES ('04','001',0)
  24. INSERT INTO #temp VALUES ('04','002',1)
  25. INSERT INTO #temp VALUES ('04','003',1)
  26. INSERT INTO #temp VALUES ('04','004',1)
  27.  
  28.  
  29. CREATE TABLE #temp2
  30. (
  31. consecutivo VARCHAR(20),
  32. fecha datetime
  33. )
  34.  
  35. INSERT INTO #temp2 VALUES ('01','2013-11-01')
  36. INSERT INTO #temp2 VALUES ('02','2013-11-02')
  37. INSERT INTO #temp2 VALUES ('03','2013-11-03')
  38. INSERT INTO #temp2 VALUES ('04','2013-11-04')
  39.  
  40.  
  41. SELECT trabajador,[01],[02],[03],[04],([01]+[02]+[03]+[04]) AS suma FROM
  42. (
  43. SELECT t1.consecutivo,t1.trabajador,t1.asistio FROM #temp AS t1
  44. LEFT JOIN #temp2 AS t2 ON (t1.consecutivo=t2.consecutivo)
  45. WHERE fecha BETWEEN '2013-11-01' AND '2013-11-04'
  46. ) AS SOURCE
  47. pivot
  48. (
  49. MAX(asistio) FOR consecutivo IN ([01],[02],[03],[04])
  50. ) AS pvt

Investiga sobre funciones PIVOT

saludos!!!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Última edición por Libras; 20/11/2013 a las 10:39
  #3 (permalink)  
Antiguo 21/11/2013, 13:57
 
Fecha de Ingreso: mayo-2011
Mensajes: 47
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Resultados de Consulta en detalle por fecha

Muchisimas gracias por tu ayuda era lo que buscaba aunque ahora me salieron mil y un preguntas.

Etiquetas: consulta+sql
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:15.