• Viernes 8 de Noviembre de 2024, 20:22

Autor Tema:  Consulta Sql Que Obtiene Campos De Una Tabla O De  (Leído 1178 veces)

Yañez

  • Miembro activo
  • **
  • Mensajes: 48
    • Ver Perfil
Consulta Sql Que Obtiene Campos De Una Tabla O De
« en: Viernes 10 de Agosto de 2007, 16:25 »
0
Hola  :hola:

Tengo un problema con una consulta a la que no le veo salida...

Tengo dos tablas:
Código: Text
  1.  
  2. A              B
  3. A_CODIGO       B_CODIGO
  4. A_CANTIDAD     A_CODIGO
  5.                B_CANTIDAD_REAL
  6.  
  7.  

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 es el de A_CANTIDAD.

Así, si quisieramos hacer un resumen del tipo:

Código: Text
  1.  
  2. CODIGO CANTIDAD
  3. 000001 236
  4. 000002 568
  5. 000003 1236
  6.  
  7.  

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?

Espero haber sido claro con mi pregunta...
Y doy las gracias de antemano por la ayuda que me puedan prestar... :whistling:

Yañez

  • Miembro activo
  • **
  • Mensajes: 48
    • Ver Perfil
Re: Consulta Sql Que Obtiene Campos De Una Tabla O De
« Respuesta #1 en: Lunes 13 de Agosto de 2007, 14:31 »
0
No había utilizado hasta ahora el LEFT JOIN, que por lo que he podido leer puede ayudarme con mi problema...

He probado con la consulta:

Código: Text
  1.  
  2. SELECT A_CODIGO, A_CANTIDAD, SUM(B_CANTIDAD_REAL) AS SUMA FROM A LEFT JOIN B ON A.A_CODIGO=B.A_CODIGO
  3.  
  4.  

Pero me devuelve un error en la sumatoria (columna inválida o desconocida), imagino que puede ser por que todavia no declaro la tabla B, pero es que si la declaro, no puedo hacer el LEFT JOIN...

¿A alguien se le courre alguna idea?

Gracias de antemano  :hola: