1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
SELECT /*+ gather_plan_statistics */
P.ID,
P.ESTILO,
FN.GRUPO,
P.PVP PVP,
CALCULO_REBAJA(P.ID) REBAJA,
N.DESCRIPCION,
N.IDIOMA,
SYSDATE,
NULL, MAX(A.BLOQUE),
MIN(PRPR.PRIORIDAD),
N.DESCRIPCION_CORTA
FROM PRODUCTOS P
INNER JOIN PRODUCTO_ALMACEN PA ON P.ID = PA.PRODUCTO AND PA.ALMACEN = '001'
INNER JOIN FAMILIA_NOMBRES FN ON FN.GENERO=P.GENERO
INNER JOIN NOMBRES N ON P.ID = N.PRODUCTO
INNER JOIN ARTICULOS A ON SUBSTR(A.ID,0,8) = P.ID
INNER JOIN ARTICULOS_ALMACEN AA ON AA.ID = A.ID AND AA.ALMACEN = '001' AND TO_NUMBER(AA.STOCK_REAL) > 0 AND AA.FECHA_BAJA IS NULL
LEFT JOIN PRODUCTO_PRIORIDAD PRPR ON PRPR.PRODUCTO = P.ID
WHERE(
(A.BLOQUE IN (SELECT bloque FROM ALMACENES_BLOQUES WHERE almacen = '001'))
OR
(A.PRODUCTO LIKE '9%')
OR
(A.PRODUCTO IN (SELECT id FROM AVANCE_BLOQUE WHERE almacen = '001'))
)
AND SUBSTR(A.ID,0,8) = P.ID
AND P.ID NOT LIKE '00%'
AND decode(P.ID,'06570074','770', decode(P.ID,'73268025','229', decode(P.ID,'63210660','208', decode(P.ID,'61154352','150', decode(P.ID,'06553572','753', decode(P.ID,'06563389','763', DECODE(substr(P.ID,3,1), '9', P.FAMILIA||SUBSTR(P.ID,4,2), '8', P.FAMILIA||SUBSTR(P.ID,4,2), '7', P.FAMILIA||SUBSTR(P.ID,4,2), SUBSTR(P.ID,3,3) ) ) ) ) ) ) ) = FN.ID
AND P.ID NOT IN('53006262','53328461','53328462')
GROUP BY P.ID, P.ESTILO, FN.GRUPO, P.PVP, N.DESCRIPCION, N.IDIOMA, N.DESCRIPCION_CORTA;
select * from dbms_xplan.display_cursor('','','allstats last'); |
Partager