Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/01/2011, 18:23
juanorozco
 
Fecha de Ingreso: noviembre-2010
Mensajes: 5
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: consulta en varias tablas misma informacion

excelentisimo hermano me funciono superbien, lo unico es que como los campos a pesar que representan lo mismo tienen nombres diferentes (ej: cod_vendedor y asesor) solo es necesario agregarle un as para que lo interprete como un mismo campo el union all de verdad que le agradezco mucho la colaboracion me ha hecho entender mejor el objetivo de las subconsultas anexo la consulta para aquellos que visiten el foro y tengan una duda similar

SELECT tabla_resultante.cod_vendedor , tabla_resultante.fecha,tabla_resultante.cod_oficin a,
sum (CASE WHEN (hora between '07:00:01' and '08:00:00' ) THEN total_pagado else 0 end ) as "7 a 8",
sum (CASE WHEN (hora between '08:00:01' and '09:00:00' ) THEN total_pagado else 0 end ) as "8 a 9",
sum (CASE WHEN (hora between '09:00:01' and '10:00:00' ) THEN total_pagado else 0 end ) as "9 a 10",
sum (CASE WHEN (hora between '10:00:01' and '11:00:00' ) THEN total_pagado else 0 end ) as "10 a 11",
sum (CASE WHEN (hora between '11:00:01' and '12:00:00' ) THEN total_pagado else 0 end ) as "11 a 12",
sum (CASE WHEN (hora between '12:00:01' and '13:00:00' ) THEN total_pagado else 0 end ) as "12 a 13",
sum (CASE WHEN (hora between '13:00:01' and '14:00:00' ) THEN total_pagado else 0 end ) as "13 a 14",
sum (CASE WHEN (hora between '14:00:01' and '15:00:00' ) THEN total_pagado else 0 end ) as "14 a 15",
sum (CASE WHEN (hora between '15:00:01' and '16:00:00' ) THEN total_pagado else 0 end ) as "15 a 16",
sum (CASE WHEN (hora between '16:00:01' and '17:00:00' ) THEN total_pagado else 0 end ) as "16 a 17",
sum (CASE WHEN (hora between '17:00:01' and '18:00:00' ) THEN total_pagado else 0 end ) as "17 a 18",
sum (CASE WHEN (hora between '18:00:01' and '19:00:00' ) THEN total_pagado else 0 end ) as "18 a 19",
sum (CASE WHEN (hora between '19:00:01' and '20:00:00' ) THEN total_pagado else 0 end ) as "19 a 20",
sum (CASE WHEN (hora between '20:00:01' and '21:00:00' ) THEN total_pagado else 0 end ) as "20 a 21",
sum (CASE WHEN (hora between '21:00:01' and '22:00:00' ) THEN total_pagado else 0 end ) as "21 a 22"
FROM
( SELECT cod_vendedor , fecha,cod_oficina,hora,total_pagado,cod_status FROM maestro_prod1
UNION ALL
SELECT cod_vendedor , fecha,cod_oficina,hora,total_pagado,cod_status FROM maestro_prod2
UNION ALL
SELECT ASESOR as cod_vendedor , fecha,oficina as cod_oficina,hora,valor as total_pagado,estado as cod_status
FROM rf_ventas_prod3
UNION ALL
SELECT cod_ASESOR as cod_vendedor , fecha,cod_oficina,hora,valor as total_pagado,estatus as cod_status FROM factura_esp)
tabla_resultante
where fecha BETWEEN to_date(:fecha_INI,'dd-mm-yyyy') AND to_date(:fecha_FIN,'dd-mm-yyyy')
and hora between :hora1 and :hora2
AND COD_STATUS='I'
GROUP BY tabla_resultante.cod_vendedor , tabla_resultante.fecha,tabla_resultante.cod_oficin a;