Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/05/2011, 11:56
jahireffer
 
Fecha de Ingreso: mayo-2011
Mensajes: 9
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: Problema al Unir consultas

Hola muchachos perdon por demorarme en responder, bueno viejo leo le cuento que intente hacer lo que propusiste pero me dio el mismo resultado, pero te agradezco por tu interes, les cuento que ya pude realizar la consulta que queria y era mas facil de lo que creí, les comento:

En la segunda parte de mi blog, donde no me supe explicar mejor, tengo 4 consultas las cuales me dan 4 resultados independientes, estos resultados los necesito en una unica consulta, debido a que esta consulta la debo alojar en el sistema de tal forma que los usuarios puedan usarla, en fin, si pueden ver las consultas 1 y 2 comparten el mismo filtro en el where y las consultas 3 y 4 tambien, lo que me lleva a poder sacar solo dos consultas asi:


Código SQL:
Ver original
  1. CONSULTA_1
  2.  
  3. SELECT L.NOMBRE,CAST(SUM(CANTORIG)AS DECIMAL)  OC_CANTIDAD, CAST(SUM(VALORUNIT)AS DECIMAL) OC_EN_$
  4. FROM MVTRADE INNER JOIN MTMERCIA M ON PRODUCTO = M.CODIGO
  5.              INNER JOIN MTLINEA L ON M.CODLINEA = L.CODLINEA
  6. WHERE PRODUCTO = M.CODIGO AND ORIGEN= 'COM' AND TIPODCTO = 'OR'
  7. GROUP BY L.NOMBRE

Lo que me aqrroja lo siguiente:

Código SQL:
Ver original
  1. NOMBRE                                                          OC_CAN    OC_$
  2. ACCESORIOS EXTERNOS                                             108675  811301
  3. AMPOLLAS                                                        23784   0
  4. ANGEOS                                                          5000    11458
  5. BOLSAS CONSUMIBLES                                              50000   13
  6. BOLSAS                                                          396830  5846
  7. CINTAS                                                          2423490 725

Código SQL:
Ver original
  1. CONSULTA_2
  2. SELECT L.NOMBRE,CAST(SUM(CANTORIG)AS DECIMAL) EJECUTANDO_CANTIDAD, CAST(SUM(VALORUNIT)AS DECIMAL) EJECUTANDO_$
  3. FROM MVTRADE INNER JOIN MTMERCIA M ON PRODUCTO = M.CODIGO
  4.              INNER JOIN MTLINEA L ON M.CODLINEA = L.CODLINEA
  5. WHERE PRODUCTO = M.CODIGO AND ORIGEN= 'COM' AND TIPODCTO = 'FP'  
  6. GROUP BY L.NOMBRE

La cual me arroja lo siguiente:

Código SQL:
Ver original
  1. NOMBRE                                                        EJE_CAN    EJE_$
  2.  
  3. ACCESORIOS EXTERNOS                                             269346  816946
  4. AMPOLLAS                                                        23784   0
  5. ANGEOS                                                          4500    8993
  6. BOLSAS CONSUMIBLES                                              50000   13
  7. BOLSAS                                                          409330  8312
  8. CINTAS                                                          1892290 801

Entonces lo que hago ahora es crear una vista de cada una de estas consultas y llamo los campos que necesito de ellas asi:


Código SQL:
Ver original
  1. SELECT V.NOMBRE
  2.               ,V.OC_CANTIDAD
  3.               ,V.OC_EN_$
  4.               ,B.EJECUTANDO_CANTIDAD
  5.               ,B.EJECUTANDO_$
  6.               ,(V.OC_EN_$)- (B.EJECUTANDO_$)PENDIENTE_ENTREGA
  7.  
  8. FROM Vista_1 V INNER JOIN vista_2 B ON V.NOMBRE =B.NOMBRE

Y esto me da como salida:

Código SQL:
Ver original
  1. NOMBRE                  OC_CAN    OC_$  EJE_CAN   EJE_$ PEN_ENT
  2.  
  3. ACCESORIOS EXTERNOS    108675   811301  269346  816946  -5645
  4. AMPOLLAS               23784         0   23784       0      0
  5. ANGEOS                  5000     11458    4500    8993   2465
  6. BOLSAS CONSUMIBLES     50000        13   50000      13      0
  7. BOLSAS                 396830     5846  409330    8312  -2466
  8. CINTAS                2423490      725 1892290     801    -76
y es todo compañeros, igual agradezco la intencion, nos vemos pronto