Son dos tablas T1 y T2 que están relacionadas y necesito la suma de registros de T2.campo9 (es Nùmero) pero condicionado a sumar aquellas filas (registros) especificados en el T2.campo8 (es Nùmero) pero también se relaciona con el valor especificado en el T1.campo7 (es Nùmero), los tres últimos campos presentan la forma:
T1.campo7 T2.campo8 T2.campo9
2 1 100000
2 2 150000
3 1 200000
3 2 0
3 3 50000
1 1 250000
Es decir, en cada registro de T1.campo7 se refleja el total de miembros (registros) que corresponden a T2.campo8 y T2.campo9. Necesito sumar (T2.campo9) para cada valor especificado en T2.campo8 hasta T1.campo7, y colocar el resultado de dicha suma en cada registro de T2.campo10, es decir, consulta resultante se esperaría:
T1.campo7 T2.campo8 T2.campo9 T2.campo10
2 1 100000 250000
2 2 150000 250000
3 1 200000 220000
3 2 0 220000
3 3 20000 220000
1 1 250000 250000
SELECT T1.Campo1, T1.Campo2, T1.Campo3, T1.Campo4, T1.Campo5,
T1.Campo6, T1.Campo7, T2.Campo8, Sum(T2.Campo9) AS SumaDeCampo9,
T1.Campo10 FROM T1 INNER JOIN T2 ON (T1.Campo1 = T2.Campo1)
AND (T1.Campo2 = T2.Campo2) AND (T1.Campo3 = T2.Campo3) AND
(T1.Campo4 = T2.Campo4) AND (T1.Campo5 = T2.Campo5) AND
(T1.Campo6 = T2.Campo6)
GROUP BY T1.Campo1, T1.Campo2, T1.Campo3, T1.Campo4, T1.Campo5,
T1.Campo6, T1.Campo7, T2.Campo8, T1.Campo10
HAVING (((Sum(T2.Campo9))>=0));
Hice una subconsulta:
Exists (SELECT T2. campo8, sum(T2.campo9) FROM T2 WHERE T2.campo8 BETWEEN
(T2.Campo8>=1 AND T2.Campo8= T1.Campo7)
Soy nueva en este tema de consultas, me podeis ayudar?,..... Gracias
