Ver Mensaje Individual
  #2  
Antiguo 01-10-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Un comentario: decir que trabajas con BDE no es decir mucho ya que el bde te sirve para acceder a varios tipos de bases de datos.

Suponiendo que estás trabajando con Paradox, en efecto, no puedes usar condicionales. Pero en el caso particular que quieres puedes lograrlo así:

Código SQL [-]
select
  num, sum((2*cast(tipo as smallint) - 1)*cantidad)
from
  tabla
group by
  num

El cast convierte el tipo booleano a entero (false->0, true->1) de manera que al multiplicar por 2 y restar 1 obtienes

false -> -1
true -> 1

Éste es el factor que necesitas para cantidad de manera que obtienes +cantidad si tipo=true y -cantidad si tipo=false, que es lo que requieres para sumar o restar según el caso.

Para el otro problema, además de que deberás abrir un nuevo hilo ya que no se relaciona con la primera pregunta, deberás especificar con mayor claridad.

// Saludos
Responder Con Cita