Esta sería una forma simple:
Código MySQL:
Ver original idCompra,
idProducto,
unit_price Unitario,
SUM(qty_reserved
) reservado
, SUM(totalReserva
) totalReserva
, SUM(qty_purch
) qty_purch
, SUM(totalCompra
) totalCompra
R.idCompra,
R.idProducto,
P.unit_price Unitario,
S.qty_reserved,
(S.qty_reserved * P.unit_price) totalReserva,
0 qty_purch,
0 totalCompra
Seleccionados S
INNER JOIN Producto P
ON S.stm_auto_key
= P.stm_auto_key
INNER JOIN resumen R
ON R.idProductoCompra
=S.idProductoCompra
R.idCompra,
R.idProducto,
P.unit_price Unitario,
0 qty_reserved,
0 totalReserva,
S.qty_purch,
(S.qty_purch * P.unit_price) totalCompra
INNER JOIN resumen R
ON R.idProductoCompra
=S.idProductoCompra
GROUP BY idCompra
, idProducto
, unit_price Unitario
;
funcionaría en MySQL, pero no estoy muy seguro de su portabilidad en Oracle, por lo que ya te dije,
y tu pareces haber ignorado completamente:
Cita: Salvo aquello que se conoce como ANSI SQL, no comparten sintaxis.
Eso significa que en muchos casos, ni la sintaxis ni la lógica aplicada puedes pasarla de uno a otro DBMS sin tener que hacer cambios que vuelven irreconocible la consulta.
No lo tomes a la ligera.