Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-04-2007
leantec leantec is offline
Registrado
 
Registrado: feb 2007
Posts: 2
Poder: 0
leantec Va por buen camino
Condicionar Columna en consulta

Hola amigos del foro, quisiera saber como puedo hacer para condicionar una columna de una consulta, uso Delphi 7 (InterBase)con Paradox 7, he intentado lo siguiente pero no acepta el operador:

Código SQL [-]SELECT IIf(Importe>0,Importe,Null)AS Debe FROM CCempre


Esto es una tabla de cuenta corriente , con un campo IMPORTE, que si es positivo va en el Debe, y si es negativo va en el Haber, asi que necesito condicionar solo esta columna dentro de SELECT ya que el reporte se compone con otras columnas fijas, disculpen la falta de lenguaje tecnico, soy novato, mucha gracias....
Responder Con Cita
  #2  
Antiguo 23-04-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Si utilizas Paradox, no te va a funcionar lo que pretendes. Sin embargo es facil de resolver, como si tiene saldo el Debe en el mismo asiento para la misma Subcuenta, no lo puede tener el Haber, no tienes más que sumar ambos y presentarlos en un tercer campo:

Código SQL [-]
Select Subcta, Contrapartida, concepto, debe+Haber As Saldo
From La_Tabla_Que_Sea

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 23-04-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 20
basti Va por buen camino
Si quieres sustituir el IIf puedes hacer dos consultas dentro de una:
Código SQL [-]
  select Importe as Debe from CCEmpre where importe > 0
  union
  select Null as Debe from CCEmpre where importe <= 0
Responder Con Cita
  #4  
Antiguo 23-04-2007
leantec leantec is offline
Registrado
 
Registrado: feb 2007
Posts: 2
Poder: 0
leantec Va por buen camino
Unhappy Sera muy basico el paradox?

Gracias basti..pero.
Error: Invalid Keyword :Null

Sera muy basico el paradox?

marcoszorrilla: el problema es que estoy copiando un viejo programa en DOS (turbo pascal) y necesito que sea lo mas parecido posible,y tiene que tener (Debe,Haber,Saldo), muchas gracias...

Última edición por leantec fecha: 23-04-2007 a las 16:51:41.
Responder Con Cita
  #5  
Antiguo 23-04-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Si lo que quieres hacer es una consulta de una Tabla mediante SQL, no tienes más remedio que utilizarlo (el SQL).

Otra solución más a la antigua usanza puede ser generar un fichero de texto con los saldos, recorres la tabla y vas generando los saldos, esto te parece más a la moda OldPascal.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #6  
Antiguo 23-04-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 20
basti Va por buen camino
Tienes razón, parece que el null no lo deja utilizar como valor. Como es un campo numérico, supongo que te valdrá usar el 0 en vez de null.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Hacer que una columna de un DbGrid aparezca distinta según valor Aprendiendo OOP 11 30-11-2018 14:47:20
Como Condicionar una consulta GCASTILLO .NET 0 25-01-2007 03:22:40
borra una columna wgfs Varios 1 28-09-2006 23:50:07
Como condicionar campo calculado aledieb Firebird e Interbase 4 31-08-2006 18:21:25
Columna calculada en base a otra columna calculada Al González Firebird e Interbase 1 09-02-2004 23:51:57


La franja horaria es GMT +2. Ahora son las 11:05:23.


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