Ver Mensaje Individual
  #1  
Antiguo 11-04-2007
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 265
Reputación: 23
Carmelo Cash Va por buen camino
Parametro en un cálculo. Se puede?

Hola amigos del foro. Estoy con un problema y tal vez me pueden ayudar. Estoy utilizando InterBase y Delphi 7. Resulta que escribí una consulta que es una belleza. Muestra el total de ventas y la comision del vendedor.

Es algo así (no coloco la verdadera porque es muy larga).

select Vendedor, sum (importe) as Importe
from ventas
where vendedor =:P_Vendedor
group by Vendedor

union

select 'comision', sum(importe) * 5/100
where vendedor =:P_Vendedor


esto arroja el siguiente resultado.
----------------
Venedor importe
-----------------
Gonzales 1000
Comision 50

Hasta acá todo bien, cambiando el parámetro P_Vendedor está resuelto.
Pero resulta que distintos vendedores tienen distintas comisiones entonces debo reemplazar el 5 por un parámetro. La union debería ser algo así:

select 'comision', sum(importe) * :P_Comision /100
where vendedor =:P_Vendedor

El problema es que esto parece que está mal porque me da un error. Está bien que esté mal?

El Error que aparece es:

"Invalid modify request. Array/Blob/Date data types not allowed in arithmetic"

Bueno espero que alguien pueda darme una mano.
Desde ya muchas gracias.
Responder Con Cita