SELECT DebtorDetails.DebtorGroupUID
FROM DebtorDetails
INNER JOIN DebtorGroup ON DebtorDetails.DebtorGroupUID = DebtorGroup.DebtorGroupUID
INNER JOIN DebtorBalance ON DebtorDetails.MostRecentDebtorBalanceUID = DebtorBalance.DebtorBalanceUID
GROUP BY DebtorDetails.DebtorGroupUID
HAVING SUM(DebtorBalance.TotalDebt)=0
By the way I think the above inner query can be simplified as follows:
SELECT DebtorDetails.DebtorGroupUID
FROM DebtorDetails
INNER JOIN DebtorBalance ON DebtorDetails.MostRecentDebtorBalanceUID = DebtorBalance.DebtorBalanceUID
WHERE DebtorBalance.TotalDebt = 0
Anyway, for the outer query.
SELECT .....
FROM
( Another Query ) as X
You should be using a dynamic list with v.2.6 derived table new feature.
And for the next inner query.
SELECT DebtorGroupUID, COUNT(*) AS DebtorCount
FROM DebtorDetails
WHERE DebtorGroupUID IN
(
Another query
)
You should be using a dynamic list with a FieldCompareSetPredicate to implement the IN clause.