Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/08/2015, 12:35
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: consultas con union

Para que la sentencia UNION o UNION ALL sean funcionales, se exige 2 condiciones:
1. Que tenga el mismo numero de campos las consultas que se requiere unir.
2. Que cada campo en el orden establecido, sea del mismo tipo de dato.

Prueba lo siguiente:
Código SQL:
Ver original
  1. SELECT fecha,SUM(sum1)AS valor_total,SUM(valortotal_uso)AS valor,SUM(estado)AS valor_estado
  2.               FROM
  3.               ((SELECT to_date(clearingdate,'yyyymmdd')AS fecha,NULL::BIGINT AS sum1,NULL::BIGINT AS valortotal_uso,SUM(amountused)AS estado FROM e_transacciones GROUP BY fecha)
  4.               UNION ALL
  5.               (SELECT to_date(fecha_de_transaccion,'YYYYMMDDHH24MISS')AS fecha,NULL::BIGINT AS sum1,SUM(monto_de_uso)AS valortotal_uso,NULL::BIGINT AS estado FROM uso_tarjetas GROUP BY fecha)
  6.               UNION ALL
  7.               (SELECT to_date(fecha_de_recaudo,'DD-MM-YYYY')AS fecha ,SUM(valor)AS sum1, NULL::BIGINT AS valortotal_uso,NULL::BIGINT AS estado  FROM troncal_post GROUP BY fecha)
  8.               UNION ALL
  9.               (SELECT to_date(fecha_de_reclamo,'DD-MM-YYYY') AS fecha,SUM(valor)AS sum1,NULL::BIGINT AS valortotal_uso,NULL::BIGINT AS estado FROM zonal GROUP BY fecha))AS set1 GROUP BY fecha;

Lo que hice, fue hacerle un casteo explicito a los null para que sean tratados como bigint y no como text.

Nos cuentas como te va
__________________
Without data, You are another person with an opinion.
W. Edwads Deming