Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/11/2013, 10:18
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 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