Hola a tod@s!
Tengo un problema con una consulta a la que no le veo salida...
Tengo dos tablas:
Código:
A B
******** ********
A_CODIGO B_CODIGO
A_CANTIDAD A_CODIGO
A_BORRADO B_CANTIDAD_REAL
B_BORRADO
El tema es el siguiente: la cantidad real de un ítem de la tabla A es la sumatoria de los registros B_CANTIDAD_REAL relacionados. Ahora bien, si no hay ningún registro en la tabla B relacionado con la tabla A, el valor que vale (aunque no sea el real, sino un estimado) es el de A_CANTIDAD.
Así, si quisieramos hacer un resumen del tipo:
Código:
CODIGO CANTIDAD
****** ********
000001 236
000002 568
000003 1236
en ocasiones la cantidad la tomaría de A_CANTIDAD, y en otras de la sumatoria de B_CANTIDAD_REAL.
He aquí la pregunta: ¿Cómo puedo, mediante una consulta SQL, hacer que me traiga dicha información?
He intentado varias soluciones pero no me resulta ninguna... por ejemplo:
Código SQL
[-]
select a_codigo, a_cantidad from a
where a_borrado=0 and a_codigo not in
(select a_codigo from b where b_borrado=0)
union all
select a_codigo, sum (b_cantidad_real) as suma from b
where b_borrado=0 group by a_codigo
Ambas consultas me funcionan por separado, pero si las uno, me da el error: "tipo de dato desconocido"...
Gracias de antemano por la ayuda que me puedan dar para sacar adelante esta consulta (me da vergüenza, pero no le veo salida
)