Ver Mensaje Individual
  #1  
Antiguo 14-08-2007
Avatar de Gabo
[Gabo] Gabo is offline
Miembro Premium
 
Registrado: mar 2007
Ubicación: Murcia (España)
Posts: 684
Reputación: 18
Gabo Va por buen camino
Consulta que obtiene campos de una tabla u otra según condición

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 )

Última edición por Gabo fecha: 14-08-2007 a las 11:09:10. Razón: Cambio en el formato
Responder Con Cita