Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-10-2004
VRO VRO is offline
Miembro
 
Registrado: abr 2004
Posts: 230
Poder: 21
VRO Va por buen camino
Consulta con if

Hola, tengo delphi 6 con interbase, he hecho una consulta con if y me da error, ¿NO se puede utilizar condicionales en una consulta para interbase?, mi consulta es la siguiente:

Código Delphi [-]
query.close;
query.sql.text:='select contadores.numero,nombre,poblacion,patron as patron1,le.lectura,sum(le.consumo) as consum,le.fecha,l.fecha as fechao';
  datos.listdep.sql.Text:=datos.listdep.SQL.Text+'if(l.fecha<>'''+fechaant+''',0,l.lectura) as lecturaant,if(le.fecha<>'''+fechasig+''',0,le.lectura) as le.lectura from contadores, lecturas le, lecturas l where contadores.numero=le.numero and contadores.numero=l.numero and depende='+cont;

query.SQL.Text:=datos.listdep.SQL.Text+'and (l.fecha='''+fechaant+''' or le.fecha='''+fechasig+''') ';

query.sql.text:=datos.listdep.sql.Text+'group by contadores.numero,nombre,poblacion,patron,le.lectura,le.fecha,l.lectura,l.fecha order by contadores.numero,6 desc';

query.open;

Si no se puede hacer consultas con condicionales prodría haber un similar, lo que yo pretendo en mi consulta es que me aparexcan todos los contadores que tiene lecturas en esas 2 fechas, pero puede que una de esas 2 fechas sea 0 entonces la lectura tb es 0

Ayuda , por favor

Muchas gracias
Responder Con Cita
  #2  
Antiguo 04-10-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

En efecto, no se pueden usar condiciones en Interbase.

Quizá te interese cambiar a Firebird, el cual en la versión 1.5 permite construcciones CASE en las sentencias, que te permiten lo que buscas. (Consulta las Release Notes de Firebird 1.5 para ver su sintaxis).

Saludos.
Responder Con Cita
  #3  
Antiguo 05-10-2004
Chaja Chaja is offline
No confirmado
 
Registrado: ago 2004
Ubicación: Mar del Plata
Posts: 238
Poder: 0
Chaja Va por buen camino
Consulta con if.....

Probaste con hacer la consulta en un Store y luego desde la aplicación cliente traes los regsitris con un select * from Nombre del Store.
En el Store si podes usar if...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:13:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi