Quiero obtener la suma de varias columnas de 2 tablas diferentes (estas tablas comparten la misma estructura).Obteniendo la suma de varias columnas de dos tablas
Si sólo considero una mesa, me gustaría escribir este tipo de consulta:
SELECT MONTH_REF, SUM(amount1), SUM(amount2)
FROM T_FOO
WHERE seller = XXX
GROUP BY MONTH_REF;
Sin embargo, me gustaría trabajar también con los datos de la T_BAR mesa, y luego tener una consulta select
que devuelven las siguientes columnas:
- MONTH_REF
- SUM (T_FOO.amount1) + SUM (T_BAR.amount1)
- SUM (T_FOO.amount2) + SUM (T_BAR.amount2)
todo agrupado por el valor de MONTH_REF
.
Tenga en cuenta que un registro para un dado MONTH_REF
se puede encontrar en una tabla pero no en la otra tabla. En este caso, me gustaría obtener la suma de T_FOO.amount1 + 0
(o 0 + T_BAR.amount1
).
¿Cómo puedo escribir mi consulta SQL para obtener esta información?
Para obtener información, mi base de datos es Oracle 10g.
Finalmente prefiero su solución (la primera) ya que es más clara que la solución de Lieven ... – romaintaz
La primera es más eficiente porque está reduciendo el número de filas antes que cuando mueve la cláusula 'WHERE' fuera del sub' SELECT'. – JohnB
Gracias he usado el segundo. –