Advertisement
Guest User

Untitled

a guest
Dec 16th, 2019
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. INSERT INTO uni_megdown (downsite, downaction, downtrt, downcode, downcexv, downlibl, downcvccode, downddeb, downbaseprice, downredprice, downminprice, downminval, downgtdnumber, downlibc, downcons, downweight, downgrat, downvat, downutil, downdcre)
  2. SELECT downsite, downaction, downtrt, downcode, downcexv, downlibl, downcvccode, downddeb,
  3.        downbaseprice, downredprice, downminprice,
  4.        downminval, downgtdnumber, downlibc, downcons, downweight, downgrat, downvat, downutil,
  5.        downdcre
  6. FROM
  7. (SELECT downsite, downaction, 0 AS downtrt, downcode, downcexv, downlibl, downcvccode, downddeb,
  8.        downbaseprice, downredprice, downminprice, downminval,
  9.        downgtdnumber, downlibc, downcons, downweight, downgrat, downvat, downutil,
  10.        SYSDATE AS downdcre
  11.   FROM
  12.    (
  13.      SELECT
  14.        downsite, downaction, 0 AS downtrt, downcode, downcexv, downlibl, downcvccode, downddeb,
  15.        downbaseprice, -- оптова¤
  16.        downredprice,  -- рознична¤
  17.        downminprice,  -- минимальна¤
  18.        downminval,
  19.        downgtdnumber, downlibc, downcons, downweight, downgrat,
  20.        NVL((SELECT av.avictva FROM aveprix av WHERE 1=1 AND av.avicinv=arccinv AND TRUNC(SYSDATE) BETWEEN av.aviddeb AND av.avidfin AND ROWNUM=1), downvat) AS downvat, 'mazura_discount' AS downutil, downdcre,
  21.        -- нужен последние измененные Ў  дл¤ кода товара
  22.        ROW_NUMBER() over(PARTITION BY downsite, downcode ORDER BY downdcre DESC) AS numid
  23.        --row_number() over(partition by downsite, artcexr || '_' || arvcexv order by downdcre desc, downaction) as numid
  24.          FROM ukm48.uni_megdown@GOLD u, artcoca, artrac a1, artuv, strucrel a3, strucobj a4
  25.        WHERE (1 = 1)
  26.         AND a1.artcinr = a3.objcint
  27.         AND(a3.objdfin >= TO_DATE(SYSDATE,  'DD/MM/RR'))
  28.         AND(a3.objpere = a4.sobcint)
  29.         AND SYSDATE BETWEEN arcddeb AND arcdfin
  30.         AND downcode = arccode AND arccinr = artcinr AND artcinr = arvcinr AND arccinv=arvcinv
  31. --        and artcexr || '_' || arvcexv in '1140061657_0') -- артикул с продаваемым вариантом
  32.         --Ограничение по ТК
  33.         -- and (a4.sobcext like '650403%' or a4.sobcext like '650402%')
  34.       -- AND artcexr=''
  35.       -- and artcexr || '_' || arvcexv in ('0000119834_0') -- артикул с продаваемым вариантом
  36.       AND downsite IN (
  37.           SELECT relid
  38.           FROM resrel, resobj
  39.           WHERE robid = relid AND robprof = -1
  40.           --   and robid <> 5038
  41.           CONNECT BY PRIOR relid = relpere
  42.           START WITH relid IN (501) -- в скобках можно указывать не только список сайтов, но и узел коммерческой сети, вся сеть - это 501
  43.         )
  44.      AND a4.sobcext IN(SELECT classif FROM UNI_CLASSIFDISCOUNT)
  45.       AND downdcre>=TRUNC(SYSDATE-140)
  46.       -- and downaction = 'C' -- выбираем только операции по созданию/изменению цены
  47.       -- классифа нет в списке запрета на купоны
  48.       -- AND substr(decode(a4.sobcext, 1, 0, a4.sobcext), 0, 8) NOT IN(SELECT classif FROM UNI_DOWNMINPRICE_EXCLASSIF)
  49.       -- на товар нет акции
  50.       AND NOT EXISTS(SELECT 1 FROM uni_top500_list_art WHERE cexr=artcexr AND pv=arvcexv AND site_id=u.downsite AND TO_DATE(SYSDATE, 'DD/MM/RR') BETWEEN TO_DATE(date_beg, 'DD/MM/RR') AND  TO_DATE(date_end, 'DD/MM/RR') )
  51.       -- не весовой
  52.      -- AND decode(artustk, 1, 0, 3)<>3
  53.    )
  54.    WHERE numid = 1 AND downaction = 'C' -- из полученных последних операций нас интересует только создание/изменение цены
  55. ) m;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement