Ver Mensaje Individual
  #4  
Antiguo 29-01-2015
aposi aposi is offline
Miembro
 
Registrado: dic 2006
Posts: 146
Reputación: 18
aposi Va por buen camino
Por lo que veo el segundo select recoges los mismos datos que en el primero.
Lo que quieres hacer es así:

Código SQL [-]
SELECT DISTINCT a.CVE_ART, b.EXIST -  
                         (SELECT    sum(b1.EXIST)
                             FROM          PAR_FACTP02 AS a2 LEFT OUTER JOIN
                                                    MULT02 AS b2 ON a2.CVE_ART = b2.CVE_ART LEFT OUTER JOIN
                                                    FACTP02 AS c2 ON a2.CVE_DOC = c2.CVE_DOC LEFT OUTER JOIN
                                                    INVE02 AS d2 ON a.CVE_ART = d2.CVE_ART
                             WHERE      (c2.STATUS <> 'C') AND (b2.CVE_ALM = 1) AND (b2.EXIST > 0) and (a2.CVE_ART = a.CVE_ART)
                             GROUP BY b2.EXIST) AS DISPONIBLES
 FROM        
 PAR_FACTP02 AS a LEFT OUTER JOIN
                       MULT02 AS b ON a.CVE_ART = b.CVE_ART LEFT OUTER JOIN
                       FACTP02 AS c ON a.CVE_DOC = c.CVE_DOC LEFT OUTER JOIN
                       INVE02 AS d ON a.CVE_ART = d.CVE_ART 
WHERE
     (b.CVE_ALM = 1) AND (b.EXIST > 0) AND (c.STATUS <> 'C') GROUP BY a.CANT, a.CVE_ART, b.EXIST

Observa que en este query he cambiado los alias de las tablas y he puesto

Código SQL [-]
and (a2.CVE_ART = a.CVE_ART)

De esta manera el segundo query obtendra el estock del producto que esta procesando el primer query
Responder Con Cita