Ver Mensaje Individual
  #3  
Antiguo 21-04-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Reputación: 19
hecospina Va por buen camino
Hola
Yo tenia unos problemas semejantes y el problema era el tipo de dato, cuando se utiliza union se debe tener un mismo tipo de dato para cada una de las columnas
si tu error era time mismash in expresion esto te ayudara, aunque el tipo de dato podria ser INT u el que tu prefieras

Código SQL [-]
select FechaProd, CAST(Count(*)  AS NUMERIC(12,2) as Turno1, CAST(0  AS NUMERIC(12,2) as Turno2, CAST(0  AS NUMERIC(12,2) as Turno3 from paquetes
where ( HoraProd between '06:00' and '14:15' )
group by FechaProd
union
select FechaProd, CAST(0  AS NUMERIC(12,2) as Turno1, CAST(Count(*)  AS NUMERIC(12,2) as Turno2, cast(0  AS NUMERIC(12,2) as Turno3 from paquetes
where ( HoraProd between '14:15' and '22:30' )
group by FechaProd
union
select FechaProd, cast(0  AS NUMERIC(12,2)  as Turno1, cast(0  AS NUMERIC(12,2)  as Turno2, cast(Count(*)  AS NUMERIC(12,2)  as Turno3 from paquetes
where ( HoraProd >= '22:30' ) and ( HoraProd < '06:00' )
group by FechaProd

supongo que este SQL analiza la produccion del turno de la noche
Código SQL [-]
select FechaProd, cast(0  AS NUMERIC(12,2)  as Turno1, cast(0  AS NUMERIC(12,2)  as Turno2, cast(Count(*)  AS NUMERIC(12,2)  as Turno3 from paquetes
where ( HoraProd >= '22:30' ) and ( HoraProd < '06:00' )
group by FechaProd

No se si te funcione com quieres el turno empieza en un dia y termina en otro !

Saludos
Responder Con Cita