Ver Mensaje Individual
  #2  
Antiguo 04-04-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Creo que condiciones como IF ... THEN no hay, pero puedes resolverlo de otras maneras:

Si utilizas el UNION te devolverá los dos resultados unidos, como si fuera una sola consulta.
Código SQL [-]
SELECT EMPLEADO,SUM(TOTAL) AS IMPORTE
FROM FACTURAS
WHERE ((EMPLEADOIMPORTANTE IS NULL) OR (EMPLEADO = EMPLEADOIMPORTANTE))
GROUP BY EMPLEADO

UNION

SELECT EMPLEADO,SUM(TOTAL * PORCENTAJE) AS IMPORTE
FROM FACTURAS
WHERE ((EMPLEADOIMPORTANTE IS NOT NULL) AND (EMPLEADO <> EMPLEADOIMPORTANTE))
GROUP BY EMPLEADO

También puedes enviarle un parámetro para que ejecute una sola de las dos...

Código SQL [-]
SELECT EMPLEADO,SUM(TOTAL) AS IMPORTE
FROM FACTURAS
WHERE ((EMPLEADOIMPORTANTE IS NULL) OR (EMPLEADO = EMPLEADOIMPORTANTE)) AND (:EJECUTA=1)
GROUP BY EMPLEADO

UNION

SELECT EMPLEADO,SUM(TOTAL * PORCENTAJE) AS IMPORTE
FROM FACTURAS
WHERE ((EMPLEADOIMPORTANTE IS NOT NULL) AND (EMPLEADO <> EMPLEADOIMPORTANTE)) AND (:EJECUTA=2)
GROUP BY EMPLEADO
Responder Con Cita