Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/02/2015, 05:50
Avatar de alexisverano
alexisverano
 
Fecha de Ingreso: septiembre-2008
Ubicación: La Habana.Cuba
Mensajes: 298
Antigüedad: 12 años, 2 meses
Puntos: 36
Error en consulta migrando mysql para postgre

Hola colegas,
Estoy realizando una migracion de un sistema que tiene sus base de datos en mysql para postgres, todo me ha funcionado perfectamente excepto una consulta que tengo que me esta dando error, al migrarla, aqui se las dejo para ver si me pueden ayudar.

Código SQL:
Ver original
  1. SELECT
  2.   tbn_provincia.nombre_provincia,
  3.   COUNT(tb_queja.id_queja) AS radicadas,
  4.   SUM(IF(tb_queja.id_resultado = '0', 1, 0)) entramites,
  5.   SUM(IF(tb_queja.id_resultado = '2', 1, 0)) conlugar,
  6.   SUM(IF(tb_queja.id_resultado = '1', 1, 0)) sinlugar,
  7.   SUM(IF(tb_queja.id_resultado = '3', 1, 0)) enparte,
  8.   SUM(tb_queja.dias_tramitacion) AS diastramites
  9. FROM
  10.   tb_queja
  11.   INNER JOIN tbn_provincia ON tbn_provincia.id_provincia = tb_queja.id_provincia
  12. GROUP BY
  13.   tbn_provincia.nombre_provincia

El error es el siguiente:

Código SQL:
Ver original
  1. ERROR:  no existe la función IF(BOOLEAN, INTEGER, INTEGER)
  2. LINE 4:   SUM(IF(tb_queja.id_resultado = '0', 1, 0)) entramites,
  3.               ^
  4. HINT:  Ninguna función coincide en el nombre y tipos de argumentos. Puede ser necesario agregar conversión explícita de tipos.
  5. ********** Error **********