Ver Mensaje Individual
  #5  
Antiguo 27-05-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
¿Interbase no tiene un condicional IF?

Porque de ser así y si no les importa que el resultado salga en columnas en lugar de filas, se podría hacer algo así sin crear una vista:

Código SQL [-]
select
  sum(if(ruta1='A', peso1, 0)) +
  sum(if(ruta2='A', peso2, 0)) +
  sum(if(ruta3='A', peso3, 0)) +
  sum(if(ruta4='A', peso4, 0)) as rutaA,

  sum(if(ruta1='B', peso1, 0)) +
  sum(if(ruta2='B', peso2, 0)) +
  sum(if(ruta3='B', peso3, 0)) +
  sum(if(ruta4='B', peso4, 0)) as rutaB,

  sum(if(ruta1='C', peso1, 0)) +
  sum(if(ruta2='C', peso2, 0)) +
  sum(if(ruta3='C', peso3, 0)) +
  sum(if(ruta4='C', peso4, 0)) as rutaC,

  sum(if(ruta1='D', peso1, 0)) +
  sum(if(ruta2='D', peso2, 0)) +
  sum(if(ruta3='D', peso3, 0)) +
  sum(if(ruta4='D', peso4, 0)) as rutaD
from
  rutas

Resultado:

Código:
rutaA rutaB rutaC ruta D
  54    37    34    8
// Saludos
Responder Con Cita