View Single Post
  #15 (permalink)  
Old 08-12-09, 13:13
bfp bfp is offline
Registered User
 
Join Date: Jul 2009
Posts: 12
3 table outer join problem

I've had a new spanner thrown into the works. I've need to produce a similar report to:

SELECT A.ID
FROM A
LEFT OUTER
JOIN B
ON B.ID = A.ID
LEFT OUTER
JOIN C
ON C.ID = A.ID + B.CSEQS
GROUP
BY A.ID
, A.SubTotal
HAVING A.SubTotal - COALESCE(SUM(C.TranAmount),0)
BETWEEN 100 AND 200

But this time instead of A.SubTotal I need SUM(D.Amount) where D.Amount is a joined table of A.ID = D.ID.

I tried

SELECT A.ID
FROM A
LEFT OUTER
JOIN B
ON B.ID = A.ID
LEFT OUTER
JOIN C
ON C.ID = A.ID + B.CSEQS
LEFT OUTER
JOIN D
ON D.ID = A.ID
GROUP
BY A.ID
HAVING COALESCE(SUM(D.Amount),0) - COALESCE(SUM(C.TranAmount),0)
BETWEEN 100 AND 200

but I'm not getting as many rows as I expect. I think I understand why (intersecting on tables C and D?...which I don't want) but - obviously - don't know the solution.
Reply With Quote