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 05-01-2008
Avatar de look
look look is offline
Miembro
 
Registrado: sep 2007
Ubicación: The Shire
Posts: 656
Poder: 17
look Va camino a la fama
Ayuda con SQL...

hola compañeros del foro , tengo el siguiente problema no se si ba aqui ... pero bueno hay me corrigen....

tengo la siguiente consulta SQL.
Código SQL [-]

Q_tot_12.SQL.Text:='select sum(subcondesc)as imp12  from fact where esquema=1 ';
Q_tot_12.Active:=true;

Q_tot_15.SQL.Text:='select sum(subcondesc)as imp15  from fact where esquema=3 ';
Q_tot_15.Active:=true;


esto lo hago despues de agregar un articulo en el form de facturacion que estoy haciendo , lo hago con el fin de obtener el total del valor de impuesto al 12 y al 15 el problema es que al agregar un articulo este puede ser al impuesto 12 o al 15 entonces solo se cumple una de las dos condiciones
devolviendome en la que no se cumplio un valor null por lo tanto me genera un error ... la pregunta : es como puedo hacer para que si la SQL devolvio null que el campo que defini como la sumatoria de este , sea 0;
es decir si la SQL que me captura el total imp 12 "select sum(subcondesc)as imp12..." ,.. imp12 sea igual a 0, espero me ayden...
Responder Con Cita
  #2  
Antiguo 05-01-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
y tu Gestor de Bases de datos es:
- Paradox
- Firebird
- MySql
- SQLServer
- informix
- Oracle
... mejor no sigo, que no sé la respuesta para todos .

En principio, busca ayuda por "case when" del lenguaje sql, en la mayoría de sistemas tendrá solución. En caso de Firebird, puedes usar Coalesce(sum(....),0)

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 05-01-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
muchos manejadores tendrían una función similar a la "isnull(campo, 0)" de SQL Server, pero como no dices cuál manejas, pues tendrías que buscar tu mismo...

la otra opción sería utilizar el campo como float (o entero, o moneda, dependiendo del uso que le des), es decir, utilizar:

Código Delphi [-]
with TuDataset do begin
 SQL......
 TuVariable := FieldByName(imp12).AsFloat; //AsInteger, AsCurrency, etc
 ...
end; //with

De esta manera, tu programa se encargará automáticamente de convertir un nulo a cero.


Cosa que no sucede si utilizas:
Código Delphi [-]
with TuDataset do begin
 SQL......
 TuVariable := FieldByName(imp12).Value;
 ...
end; //with
__________________


Última edición por ContraVeneno fecha: 05-01-2008 a las 16:39:01.
Responder Con Cita
  #4  
Antiguo 16-01-2008
espericueta espericueta is offline
Miembro
 
Registrado: ene 2008
Posts: 13
Poder: 0
espericueta Va por buen camino
isnull

no se que manejador utilices en sql server se puede utilizar esta funcion
isnull

Código SQL [-]
Q_tot_12.SQL.Text:='select isnull(sum(subcondesc),0)as imp12  from fact where esquema=1 ';
Q_tot_12.Active:=true;

Q_tot_15.SQL.Text:='select isnull(sum(subcondesc),0)as imp15  from fact where esquema=3 ';
Q_tot_15.Active:=true;
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
Ayuda para la ayuda maxvera Varios 4 12-05-2007 20:13:44
Instalar Ayuda (.HLP) en la Ayuda de Delphi? MasterXP Varios 6 12-04-2006 06:57:49
Ayuda para crear ayuda... Gabriel2 Varios 2 10-06-2005 00:15:18
ayuda con strtofloat, ayuda punto flotante TURING Varios 5 30-04-2004 08:03:59
Ayuda Con Instalacion De Archivos De Ayuda Legolas Varios 1 01-12-2003 14:48:03


La franja horaria es GMT +2. Ahora son las 21:20:50.


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