[Lazarus-es] Zeos y SqlQuery no trae datos la consulta pero no tiene errores aparentes
Carlos Enrique Rodriguez
cer en racssprg.com.ar
Jue Jun 25 16:52:45 CEST 2015
Dos cosas que se me ocurren que puede ser el problema:
a.- Select MIN(case when E.Practicas = 'Egreso de internación' then
E.FECHAPRACTICA else null end)
Aca estás metiendo valores null al where final. Podés probar con un
valor 'XYZ' preguntanto si Egreso <> 'XYX' en lugar de
si X.egreso is null. Con esto sacamos null de cualquier revoleo
intermedio que haya
b.- Tenes dos veces declarado el campo Egreso (dentro y fuera de
paréntesis), quizás esto sea lo que malinterprete la consulta.
Nos vemos
Carlos
El 25/06/2015 a las 11:45, Maxi escribió:
> no hay valores null, el problema lo tienen con las consultas como
> campos, si le quito eso trae datos.
> Hay una interpretacion previa que no la entiende.
> Incluso le desactive el parsesql y no trae nada
>
> El día 25 de junio de 2015, 11:09, Carlos Enrique Rodriguez
> <cer en racssprg.com.ar> escribió:
>> Hola,
>> Si no te da error, una de las cuestiones que se me ocurre que puede
>> estar pasando es que tengas valores NULL en alguno de los campos que
>> vinculan tablas o están en el where. Eso lo he sufrido más de una vez. :)
>>
>> Nos vemos
>> Carlos
>>
>>
>>
>> El 25/06/2015 a las 10:51, Maxi escribió:
>>> Firebird 2.1.3
>>> Lazarus 1.4.0 FCP 2.6.4
>>> ZeosLib 7.1.4 estable
>>>
>>> Tengo una consulta medio rara por como esta organizado el
>>> almacenamiento (no es mi base aclaro) la consulta funciona en otros
>>> manejadores de datos sin problemas pero en el ide de Lazarus no trae
>>> datos pero no da error en la consulta
>>>
>>> Creo que sobreinterpreta o prepara la consulta y algo no le gusta a
>>> estos controles porque no trae datos si los nombres de los campos.
>>> sospecho esto porque en el generador de consultas del componente
>>> sqlquery al hacer el chequeo de sintaxis dice que espera una , en una
>>> linea
>>>
>>> No me paso antes con este tipo de consultas.
>>>
>>> select x.* from
>>> (select
>>> DISTINCT
>>> r.CUENTA,
>>> R.NOMBRE,
>>> R.OBRASOCIAL,
>>> case when R.Practicas = 'Recepción internacion' then R.FECHAPRACTICA
>>> else null end as Ingreso,
>>> CAST((Select MIN(case when E.Practicas = 'Egreso de internación'
>>> then E.FECHAPRACTICA else null end) as Egreso from
>>> VW_HISTORIASCLINICAS E
>>> where E.CUENTA = R.CUENTA and E.FECHAPRACTICA >=
>>> R.FECHAPRACTICA
>>> and E.Practicas = 'Egreso de internación'
>>> ) as DATE) as Egreso,
>>> R.NROHC,
>>> (Select first 1 (case when CODIGOPRACTICA = 'SEC_CAMA' then
>>> DETALLEPRACTICA else null end) as sector from
>>> VW_HISTORIASCLINICAS SE
>>> where
>>> SE.CUENTA = R.CUENTA
>>> and
>>> SE.FECHAPRACTICA >= R.FECHAPRACTICA
>>> and SE.Practicas = 'Sector' order by SE.FECHAPRACTICA desc
>>> ) as Sector
>>> from
>>> VW_HISTORIASCLINICAS R
>>> where
>>> R.Practicas = 'Recepción internacion') x
>>> where x.egreso is null
>>>
>>
>> _______________________________________________
>> Lazarus-es mailing list
>> Lazarus-es en lists.lazarus.freepascal.org
>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>
>
More information about the Lazarus-es
mailing list