SOLUZIONE DIRETTA:
fai una join fra le tre tabelle...
la tabella 1 ti restituisce i valori con cui JOINARE le altre due...
dalle altre due imposti un WHERE in cui la somma dei due record sia maggiore di zero.
ti ho fatto un esempio (ma sei stato vago, quindi non pretendere troppo)
codice:
SELECT tba_uno.uno_id, tba_due.due_text, tba_tre.tre_text, tba_uno.uno_val, tba_due.due_dispreale
FROM (tba_uno LEFT JOIN tba_due ON tba_uno.uno_joiner = tba_due.due_joiner) LEFT JOIN tba_tre ON tba_uno.uno_joiner = tba_tre.tre_joiner
WHERE (((tba_uno.uno_val)=3) AND ((tba_due.due_dispreale-tba_tre.tre_dispreale)>0));
3 tabelle (uno, due, tre)
dalla prima prendiamo i record con UNO_VAL = 3, poi dalla seconda e terza prendiamo i record che hanno DUE_JOINER, TRE_JOINER uguali a UNO_JOINER (valori corrispondenti)...
e poi prendiamo solo i record che hanno la famosa sottrazione DISPREALE maggiore di 0...
se la ricostruisci sulla TUA struttura ti fa funzionare (con una sola QUERY e il solito sistema di paginazione) tutta la baracca...
SOLUZIONE INDIRETTA:
mi spieghi il problema di fondo senza farmi vedere nemmeno una linea di codice.
magari troviamo una soluzione più elegante...