Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Restar registros de diferentes tablas !!! (https://www.clubdelphi.com/foros/showthread.php?t=61842)

sargento elias 24-11-2008 17:59:28

Restar registros de diferentes tablas !!!
 
Hola Buenas Tardes tengo una Sql a la que necesito restarle otra, pero no se cómo.

Código SQL [-]
 SELECT SUM(IMP) 
FROM( select M.IMP FROM expemov M INNER JOIN EXPEDIENTES E ON E.ID = M.IDEXP         
WHERE M.IDEXP between   :EXP1 AND :EXP2            AND DH = 'D'           AND SDP = 'P' 
union all   
select  -m.IMP FROM expemov m INNER JOIN EXPEDIENTES E ON E.ID = M.IDEXP   
WHERE M.IDEXP  between  :EXP1 AND :EXP2            AND DH = 'H'           AND SDP = 'P') AS T

Esta es la primera select,.....y quiero restarle a la primera ésta otra

Código SQL [-]
SELECT SUM(IMP) FROM EXPEPRV          WHERE IDEXP  between  :EXP1 AND :EXP2


y que me muestre los resultados que no sean 0.

Gracias por todo, tengo un buen cacao con esto..xD

Lepe 24-11-2008 18:44:37

No lo he hecho antes, pero según esto sería:
Código SQL [-]
 SELECT SUM(IMP) 
FROM( select M.IMP FROM expemov M INNER JOIN EXPEDIENTES E ON E.ID = M.IDEXP         
WHERE M.IDEXP between   :EXP1 AND :EXP2            AND DH = 'D'           AND SDP = 'P' 
HAVING SUM(IMP) <> 0
union all   
select  -m.IMP FROM expemov m INNER JOIN EXPEDIENTES E ON E.ID = M.IDEXP   
WHERE M.IDEXP  between  :EXP1 AND :EXP2            AND DH = 'H'           AND SDP = 'P') AS T
AND M.IMP <> 0

MINUS

SELECT SUM(IMP) FROM EXPEPRV          WHERE IDEXP  between  :EXP1 AND :EXP2
HAVING SUM(IMP) <> 0
...me extraría que funcionase :eek:


La franja horaria es GMT +2. Ahora son las 06:35:08.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi