Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Error en consulta migrando mysql para postgre

Estas en el tema de Error en consulta migrando mysql para postgre en el foro de PostgreSQL en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 25/02/2015, 05:50
Avatar de alexisverano  
Fecha de Ingreso: septiembre-2008
Ubicación: La Habana.Cuba
Mensajes: 298
Antigüedad: 16 años, 1 mes
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 **********
  #2 (permalink)  
Antiguo 25/02/2015, 06:33
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Error en consulta migrando mysql para postgre

Es el tipo de migraciones que requieren usar el manual...

Creo que lo que te puede servir es COALESCE.
MySQL tiene un set de funciones mucho más detallado, por lo que no todo es completamente migrable. Tendrás que aguzar el ingenio.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: mysql, postgre, postgres, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:52.