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 13-08-2021
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
Cool Consulta Multipicar o No multiplicar

Buen día foro.

Estoy usando Firebird 2.5

Les traigo una consulta sobre un SQL, a ver si se puede resolver sin programar.

Una tabla con 4 campos, "tipo", "Total", "uno","dos"

Necesito dos campos "calculados" uno que sea el 3% del total y otro el 5% del total, pero el 3% solo en aquellos casos que el campo "UNO" sea mayor a cero y el 5% solo en aquellos que el campo "DOS" sea mayor a cero.

El resultado que necesito obtener es el siguiente:

TIPO_TOTAL_UNO___DOS__TRES_CINCO

1____100____21_____0____3_____0
1____200_____0____52____0____10
1____300____63____79____9____15
1____400____00_____0____0_____0
2____100____21_____0____3_____0
2____200_____0____52____0____10
3____300____63____79____9____15
3____400_____0_____0____0_____0

Si quieren probar adjunto los scrips para crear y completar las tablas y mi consulta que NO funciona.

Desde ya muchas gracias por su atención.


create Table prueba20210813 (
Tipo integer,
Total Numeric (15,2) Not null,
Uno Numeric (15,2) Not null,
Dos Numeric (15,2) Not null);

Insert into prueba20210813 values (1, 100,21 ,0);
Insert into prueba20210813 values (1, 200,0 ,52);
Insert into prueba20210813 values (1, 300,63 ,79);
Insert into prueba20210813 values (1, 400,0 ,0);
Insert into prueba20210813 values (2, 100,21 ,0);
Insert into prueba20210813 values (2, 200,0 ,52);
Insert into prueba20210813 values (3, 300,63 ,79);
Insert into prueba20210813 values (3, 400,0 ,0);

Select tipo, Total, uno,dos , total * 0.03 as tres, total *0.05 as cinco
from prueba20210813
Responder Con Cita
  #2  
Antiguo 13-08-2021
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Según te entiendo creo que sería:
Código SQL [-]
SELECT
 TIPO,
 TOTAL,
 UNO,
 DOS,
 IIF( UNO > 0, TOTAL * 0.03, 0 ) AS PERC_3,
 IIF( DOS > 0, TOTAL * 0.05, 0 ) AS PERC_5
FROM PRUEBA20210813

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 13-08-2021
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
Si señór

Efectivamente es así.

Gracias amigo
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
Multiplicar un campo (SQL) bematus SQL 8 16-11-2015 18:14:04
Multiplicar y sumar en consulta sql sac SQL 2 30-03-2014 17:02:39
multiplicar 2 tedit edgar_prospero Varios 2 07-06-2012 02:29:29
Ayuda al multiplicar peripla Varios 5 13-04-2010 09:26:00
Multiplicar en una consulta muli Firebird e Interbase 1 20-06-2003 00:05:37


La franja horaria es GMT +2. Ahora son las 09:38:30.


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