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

Vistas de los meses del año.

Estas en el tema de Vistas de los meses del año. en el foro de SQL Server en Foros del Web. saludos a todos. desarrolle el sisguiente sistema.. Sistema de nominas. lleva el monto cancelado a los obreros de la empresa. como se les paga los ...
  #1 (permalink)  
Antiguo 22/05/2012, 06:57
Avatar de cesarcaes  
Fecha de Ingreso: marzo-2010
Mensajes: 57
Antigüedad: 14 años, 1 mes
Puntos: 1
Vistas de los meses del año.

saludos a todos.
desarrolle el sisguiente sistema..
Sistema de nominas. lleva el monto cancelado a los obreros de la empresa. como se les paga los quince de cada mes. lleva el registro mensual.
pero necesito un reporte que muestre lo obtenido por el trabajador e su tiempo que duro en la empresa. pero el reporte es una obligacion legal y debe cumplir con un fromato. debo tener por integrante una vista que tenga como coluna 7 años.
año1 año2 año3.....año7
y otras que tenga los meses de esos años

mes1 mes 2 mes3 .... mes12..

ayuda....
  #2 (permalink)  
Antiguo 22/05/2012, 11:23
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Vistas de los meses del año.

Eso no lo resuelve SQL Server, lo resuelve el REPORTEADOR que vas a ocupar.
__________________
MCTS Isaias Islas
  #3 (permalink)  
Antiguo 28/05/2012, 09:40
Avatar de cesarcaes  
Fecha de Ingreso: marzo-2010
Mensajes: 57
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Vistas de los meses del año.

Lo que pasa es que el REPORTEADOR no puedo manejar esos datos así. estoy usando report Builder. ya que ese el reporteador que viene por defecto con la aplicación.
  #4 (permalink)  
Antiguo 28/05/2012, 10:40
Avatar de ingelenalopez  
Fecha de Ingreso: mayo-2012
Ubicación: Santo Domingo, Dominican Republic
Mensajes: 12
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Vistas de los meses del año.

Select datepart(year, Fecha), Sum(MontoAcumulado), Empleado
from Empleados
where datediff(year, Fecha, getdate()) <= 7
group by Empleado, datepart(year, Fecha)
order by Empleado, datepart(year, Fecha)

Ya luego tienes que tratar de hacer un Pivot con esos resultados.

Slds
  #5 (permalink)  
Antiguo 29/05/2012, 13:12
Avatar de cesarcaes  
Fecha de Ingreso: marzo-2010
Mensajes: 57
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Vistas de los meses del año.

Hemano tu query funciona fino. pero lo que necestio es lo sigueinte.

año 2010 todos los regitros de todos los meses-

año mes1 mes2 mes3 mes4 mes5..... mes12
2011 10 11 00 50 30 ..... 60
2012 20 22 10 80 50 ..... 50

como tiene dos años nada mas en la empresa. y en formato necesito que sean 7 años. debo colocar los otros 5 años pero en blanco.

2013 00 000 000 00 00 .... 000
2014 00 00 00 00 00 ..... 000
.
..
2017 00 00 00 00 00 ..... 000


algo asi.... klo estoy tratando de ahcer con vistas pero no le llego.. y funciones..
__________________
El Exito se Consigue en Internet
  #6 (permalink)  
Antiguo 29/05/2012, 14:37
Avatar de 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: Vistas de los meses del año.

Código SQL:
Ver original
  1. SELECT datepart(YEAR, Fecha), SUM(MontoAcumulado), Empleado
  2. FROM Empleados
  3. WHERE datediff(YEAR, Fecha, getdate()) <= 7
  4. GROUP BY Empleado, datepart(YEAR, Fecha)
  5. ORDER BY Empleado, datepart(YEAR, Fecha)
  6.  
  7. UNION
  8.  
  9. SELECT 2013,0,0,0,0,0,0,0,0...0
  10. UNION
  11. SELECT 2014,0,0,0,0,0,0,0,0...0
  12. UNION
  13. SELECT 2015,0,0,0,0,0,0,0,0...0
  14. .
  15. .
  16. .
  17. SELECT 20N,0,0,0,0,0,0,0,0...0

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

Etiquetas: meses, registro, vistas
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 02:33.