Hola amigo golman, gracias por contestar. Es así como tu lo piensas, un registro puede estar en ambas tablas o solamente en una de las dos. Y en la primera tabla temporal Monto2 siempres será cero y en la segunda Monto1 siempre será cero.
No puedo hacer inner join porque solo tomaría los registros cuya clave primarias se encuentran en las dos tablas. En el ejemplo que puse solo serían los registros con IdOrdenCompra 2 y 3. Pero tambien quiero el registro con IdOrdenCompra=1 (de la primera tabla temporal) Y también el registro con IdOrdenCompra=4 (de la segunda tabla temporal)
La cosa es que si se el registro se encuentra en ambas tablas temporales debe registrarse una sola vez en la tabla termporal final tomando el valor Monto1 de la primera tabla temporal y Monto2 de la segunda tabla temporal.
Si el registro solo se encuentra en la primera tabla temporal debe registrarse en la tabla temporal final con su respectivo valor Monto1, y en el Monto2 le pongo cero
Y si el registro solo se encuentra en la segunda tabla temporal debe registrarse en la tabla temporal final con su respectivo valor Monto2, y en el Monto1 le pongo cero
Ahora si ta mas explicadito
Estaba revisando por aquí por el foro y creo que la cosa va por left o rigth outer join pero no entiendo exactamente su concepto