Foros del Web » Programando para Internet » PHP »

Querys en php con ADO

Estas en el tema de Querys en php con ADO en el foro de PHP en Foros del Web. Mi consulta es la siguente, tengo una Query que al ejecutarla en php me marca error pero cuando la ejecuto en el oracle developer me ...
  #1 (permalink)  
Antiguo 30/08/2013, 09:13
Avatar de tquezada  
Fecha de Ingreso: febrero-2013
Ubicación: Santiago
Mensajes: 196
Antigüedad: 11 años, 2 meses
Puntos: 8
Querys en php con ADO

Mi consulta es la siguente, tengo una Query que al ejecutarla en php me marca error pero cuando la ejecuto en el oracle developer me trae datos , no se que pasa
ojala me puedan orientar con la consulta
Saludos
Código PHP:
Ver original
  1. $strSQL = " select decode(t1.ct_numero_contrato,130003156,'Excedentes',130005164,'Excedentes',130005089,'Excedentes',130000001,'Convenio 300',decode(t1.tipo_registro,'1','Boleta','Guia')) Tipo_Documento,
  2. t2.nro_docto Número_Documento,
  3. t1.ct_numero_contrato Convenio,
  4. decode((select t3.respaldo_fisico_requerido from parametros_liquidacion t3 where t3.ct_numero_contrato = t1.ct_numero_contrato ),'S','Con Respaldo','Sin Respaldo') Condición_Convenio,
  5. t1.monto_credito Monto
  6. from detalle_consumos t1,
  7.     transacciones_pos t2,
  8.     PARAMETROS_LIQUIDACION T3  
  9. where t1.codigo = t2.codigo
  10. and t1.estado_consumo = '1'
  11. and t1.lo_codigo = ".$_SESSION["filial_id"] ."  
  12. and fecha_consumo = to_date('".$FechaI."','dd/mm/yyyy')
  13. and t1.monto_credito > 0
  14. AND t1.ct_numero_contrato NOT IN(130003156,130005164,130005089)
  15. AND t1.ct_numero_contrato = t3.ct_numero_contrato
  16. AND t3.respaldo_fisico_requerido = 'S'
  17. order by tipo_documento,Condición_Convenio ";
  18. $rsConn = $dbSBF->Execute($strSQL)or die("$strSQL");
__________________
¿Sabes cuántos programadores hacen falta para cambiar una bombilla? - no, no ¿Cuántos? - Ninguno... es un problema de hardware.
  #2 (permalink)  
Antiguo 31/08/2013, 20:36
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Querys en php con ADO

Y cuál es el error que marca?, no esperarás que lo adivinemos... o sí?
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 31/08/2013, 20:49
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
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)

Etiquetas: ado, querys, registro, select, 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 03:35.