Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/11/2008, 10:53
lidia_cab
 
Fecha de Ingreso: agosto-2008
Mensajes: 8
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problemas con un CASE en SQL Server

mmmm creo que no me he dado a explicar por completo Andres95, pero muchas gracias por contestar, espero que esta vez me explique mejor.
Mira mi query lo que debe hacer es que dependiendo del mes en que nos encontremos por eso lo del Month(Getdate()), debe ir a insertar a la tabla que se llama Mes todos los meses hasta el mes en que me haya regresado el Month(Getdate()), es decir si hoy que estamos en el mes de Noviembre debo ir a escribir en la tabla Mes datos en la columna de Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre y Noviembre, pero en el mes de diciembre debo colocar un 0, y para el proximo mes que estemos en Diciembre debo ir a escribir datos en Todos los meses de la tabla Mes (Enero - Diciembre), mi query completo seria:

INSERT INTO NUEVOMUNDO_PASO.dbo.MES
SELECT
CASE WHEN MONTH(GETDATE()) = 1 THEN A.METROS_QUINCENAL +', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0'
WHEN MONTH(GETDATE()) = 2 THEN A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0'
WHEN MONTH(GETDATE()) = 3 THEN A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', 0, 0, 0, 0, 0, 0, 0, 0, 0'
WHEN MONTH(GETDATE()) = 4 THEN A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', 0, 0, 0, 0, 0, 0, 0, 0'
WHEN MONTH(GETDATE()) = 5 THEN A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', 0, 0, 0, 0, 0, 0, 0'
WHEN MONTH(GETDATE()) = 6 THEN A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', 0, 0, 0, 0, 0, 0'
WHEN MONTH(GETDATE()) = 7 THEN A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', 0, 0, 0, 0, 0'
WHEN MONTH(GETDATE()) = 8 THEN A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', 0, 0, 0, 0'
WHEN MONTH(GETDATE()) = 9 THEN A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', 0, 0, 0'
WHEN MONTH(GETDATE()) = 10 THEN A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', 0, 0'
WHEN MONTH(GETDATE()) = 11 THEN A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', 0'
WHEN MONTH(GETDATE()) = 12 THEN A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL +', '+ A.METROS_QUINCENAL
END
FROM NUEVOMUNDO_PASO.dbo.VW_FamiliasAcabados A

Yo solo coloque anteriormente una parte del query, porque pense que con eso podria solucionar lo demas pero yo creo que asi me explicare mejor, y la vista tiene nadamas el campo Metros_quincenal, espero me puedas entender mejor y gracias de nuevo.

Saludos