Ver Mensaje Individual
  #3 (permalink)  
Antiguo 31/08/2013, 20:49
Avatar de gnzsoloyo
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: Querys en php con ADO

Si ordenamos la consulta, tal vez surja algo:
Código SQL:
Ver original
  1. SELECT
  2.     DECODE(`t1`.`ct_numero_contrato`,
  3.             130003156,
  4.             'Excedentes',
  5.             130005164,
  6.             'Excedentes',
  7.             130005089,
  8.             'Excedentes',
  9.             130000001,
  10.             'Convenio 300',
  11.             DECODE(`t1`.`tipo_registro`,
  12.                     '1',
  13.                     'Boleta',
  14.                     'Guia')) Tipo_Documento,
  15.     `t2`.`nro_docto` Número_Documento,
  16.     `t1`.`ct_numero_contrato` Convenio,
  17.     DECODE((SELECT
  18.                 `t3`.`respaldo_fisico_requerido`
  19.             FROM
  20.                 `parametros_liquidacion` `t3`
  21.             WHERE
  22.                 `t3`.`ct_numero_contrato` = `t1`.`ct_numero_contrato`),
  23.             'S',
  24.             'Con Respaldo',
  25.             'Sin Respaldo') Condición_Convenio,
  26.     `t1`.`monto_credito` Monto
  27. FROM
  28.     `detalle_consumos` `t1`,
  29.     `transacciones_pos` `t2`,
  30.     `PARAMETROS_LIQUIDACION` `T3`
  31. WHERE
  32.         `t1`.`codigo` = `t2`.`codigo`
  33.     AND `t1`.`ct_numero_contrato` = `t3`.`ct_numero_contrato`
  34.     AND `t1`.`estado_consumo` = '1'
  35.     AND `t1`.`lo_codigo` = $_SESSION["filial_id"]
  36.     AND `fecha_consumo` = TO_DATE('".$FechaI."', 'dd/mm/yyyy')
  37.     AND `t1`.`monto_credito` > 0
  38.     AND `t1`.`ct_numero_contrato` NOT IN (130003156,130005164, 130005089)
  39.     AND `t3`.`respaldo_fisico_requerido` = 'S'
  40. ORDER BY tipo_documento, Condición_Convenio
En principio, hay un par de cosas que podrían provocar problemas:
1) Estás usando letras acentuadas para los alias de las columnas, y eso es proclive a generar problemas cuando se trabaja con bases de datos y también con PHP. Ninguno de los dos se lleva bien con las acentuadas si no está todo correctamente configurado.
2) No está claro qué DBMS usas, por las cláusulas y funciones usadas supongo que es Oracle. Pero si estás usando algo diferente, te puede dar error de sintaxis, porque estás usando funciones propietarias de Oracle que los otros no reconocerán.
Fuera de eso, a nivel de consulta, la veo bastante ineficiente, pero no necesariamente mal escrita.
Como dice @Triby: Sin que nos digas qué error devuelve, no hay por donde ayudarte...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)