Ver Mensaje Individual
  #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
Reputación: 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