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 30-09-2004
Avatar de Durbed
Durbed Durbed is offline
Miembro
 
Registrado: ago 2004
Posts: 166
Poder: 20
Durbed Va por buen camino
Problema con consulta de SQL

Hola, tengo una tabla que tiene entre otros dos campos:
TIMPORTE --> Que tiene el tipo de imoprte, puede ser A ó B.
IMPORTE --> Que tiene el importe en si.

Quiero hacer una consulta para mostrar en delphi, donde me desglose el importe en dos columnas, es decir, una columna con el importe A y otro con el importe B.

Gracias.
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5
Responder Con Cita
  #2  
Antiguo 30-09-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Durbed
Quiero hacer una consulta para mostrar en delphi, donde me desglose el importe en dos columnas, es decir, una columna con el importe A y otro con el importe B.
Bueno, es una solución poco eficiente y no se si funcionará en todos los SGBD's; Sería algo así:

Código SQL [-]
select Importe as IMP_A, '' as IMP_B from Tabla where TIMPORTE='A'
UNION
select '' as IMP_A, Importe as IMP_B from Tabla where TIMPORTE='B'
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 30-09-2004
jncrls jncrls is offline
Registrado
 
Registrado: may 2003
Ubicación: Venezuela
Posts: 6
Poder: 0
jncrls Va por buen camino
También lo puedes hacer con un stored procedure, según dicen se ejecutan más rápido y en este caso haces una sola pasada a la tabla.


create procedure XXX returns (
IMP_A double precision,
IMP_B double precision)
as
declare variable Tipo varchar(1);
begin
for select TIMPORTE, IMPORTE from Tabla into :Tipo, :IMP_A
do begin
if (Tipo = 'B') then begin
IMP_B = IMP_A;
IMP_A = null;
end
else
IMP_B = null;
end
end
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 13:57:15.


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