Advertisement
AnandSAA

Flash Sale

Feb 18th, 2019
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 4.78 KB | None | 0 0
  1. SELECT
  2.    SQL_NO_CACHE DISTINCT promo.ID AS ID,
  3.    prod_id.VALUE AS LINKED_PROD_ID,
  4.    prod.CODE AS LINKED_PROD_CODE,
  5.    section.CODE AS LINKED_SECTION_CODE,
  6.    promo.NAME AS NAME,
  7.    prod.NAME_AR AS NAME_AR,
  8.    IF( sort_site.DESCRIPTION*1 > 0, sort_site.DESCRIPTION*1, promo.SORT ) AS SORT,
  9.    price_msrp.VALUE AS PRICE_OLD,
  10.    price_current.VALUE AS PRICE_CURRENT,
  11.    CEIL((1 - (price_current.VALUE / price_msrp.VALUE))*100) AS PERCENT_DISCOUNT,
  12.    prod.PREVIEW_PICTURE AS IMAGE_ID,
  13.    REPLACE( CONCAT( image_preview.SUBDIR, '/' , image_preview.FILE_NAME ), '/', '-' ) AS IMAGE_FILE,
  14.    promo.ACTIVE_FROM,
  15.    promo.ACTIVE_TO,
  16.    block_element_video.VALUE as VIDEO_ID,
  17.    UPPER( GROUP_CONCAT(DISTINCT block_element_promo_enum.VALUE SEPARATOR ',') ) AS DISABLED_PROMO_SITES,
  18.    UPPER( GROUP_CONCAT(DISTINCT block_element_prod_enum.VALUE SEPARATOR ',') ) AS DISABLED_PROD_SITES,
  19.    UPPER( block_platform_element_promo_enum.XML_ID ) AS DISABLED_PLATFORM,
  20.    IF(sale_type.VALUE = 2130, 'FLASH_SALE', 'WEB_SALE') AS SALE_TYPE,
  21.    total_orders.VALUE AS TOTAL_ORDERS,
  22.    total_stock.VALUE AS TOTAL_STOCK,
  23.    IF( pre_order.VALUE = 1051 , 'Y' , 'N' ) AS PRE_ORDER
  24. FROM
  25.    b_iblock_element promo
  26.    INNER JOIN
  27.       b_iblock_element_property event
  28.       ON ( event.IBLOCK_ELEMENT_ID = promo.ID
  29.       AND event.IBLOCK_PROPERTY_ID = 464 )
  30.    INNER JOIN
  31.       b_iblock_element_property sale_type
  32.       ON ( sale_type.IBLOCK_ELEMENT_ID = promo.ID
  33.       AND sale_type.IBLOCK_PROPERTY_ID = 468 )
  34.    INNER JOIN
  35.       b_iblock_element_property prod_id
  36.       ON ( prod_id.IBLOCK_ELEMENT_ID = promo.ID
  37.       AND prod_id.IBLOCK_PROPERTY_ID = 460 )
  38.    INNER JOIN
  39.       b_iblock_element prod
  40.       ON prod.ID = prod_id.VALUE
  41.    INNER JOIN
  42.       b_iblock_section section
  43.       ON section.ID = prod.IBLOCK_SECTION_ID
  44.    INNER JOIN
  45.       b_iblock_element_property price_msrp
  46.       ON ( price_msrp.IBLOCK_ELEMENT_ID = prod.ID
  47.       AND price_msrp.IBLOCK_PROPERTY_ID = 298 )
  48.    INNER JOIN
  49.       b_iblock_element_property price_current
  50.       ON ( price_current.IBLOCK_ELEMENT_ID = promo.ID
  51.       AND price_current.IBLOCK_PROPERTY_ID = 461 )
  52.    LEFT JOIN
  53.       b_file image_preview
  54.       ON image_preview.ID = prod.PREVIEW_PICTURE
  55.    LEFT JOIN
  56.       b_file image_detail
  57.       ON image_detail.ID = prod.PREVIEW_PICTURE
  58.    LEFT JOIN
  59.       b_iblock_element_property block_element_promo
  60.       ON ( block_element_promo.IBLOCK_ELEMENT_ID = promo.ID
  61.       AND block_element_promo.IBLOCK_PROPERTY_ID = 514 )
  62.    LEFT JOIN
  63.       b_iblock_element_property block_platform_element_promo
  64.       ON ( block_platform_element_promo.IBLOCK_ELEMENT_ID = promo.ID
  65.       AND block_platform_element_promo.IBLOCK_PROPERTY_ID = 516 )
  66.    LEFT JOIN
  67.       b_iblock_property_enum block_platform_element_promo_enum
  68.       ON ( block_platform_element_promo_enum.ID = block_platform_element_promo.VALUE )
  69.    LEFT JOIN
  70.       b_iblock_element_property block_element_video
  71.       ON ( block_element_video.IBLOCK_ELEMENT_ID = prod.ID
  72.       AND block_element_video.IBLOCK_PROPERTY_ID = 211 )
  73.    LEFT JOIN
  74.       b_iblock_property_enum block_element_promo_enum
  75.       ON ( block_element_promo_enum.ID = block_element_promo.VALUE )
  76.    LEFT JOIN
  77.       b_iblock_element_property block_element_prod
  78.       ON ( block_element_prod.IBLOCK_ELEMENT_ID = prod.ID
  79.       AND block_element_prod.IBLOCK_PROPERTY_ID = 520 )
  80.    LEFT JOIN
  81.       b_iblock_property_enum block_element_prod_enum
  82.       ON ( block_element_prod_enum.ID = block_element_prod.VALUE )
  83.    LEFT JOIN
  84.       b_iblock_element_property total_stock
  85.       ON ( total_stock.IBLOCK_ELEMENT_ID = promo.ID
  86.       AND total_stock.IBLOCK_PROPERTY_ID = 458 )
  87.    LEFT JOIN
  88.       b_iblock_element_property total_orders
  89.       ON ( total_orders.IBLOCK_ELEMENT_ID = promo.ID
  90.       AND total_orders.IBLOCK_PROPERTY_ID = 459 )
  91.    LEFT JOIN
  92.       b_iblock_element_property pre_order
  93.       ON ( pre_order.IBLOCK_ELEMENT_ID = prod_id.VALUE
  94.       AND pre_order.IBLOCK_PROPERTY_ID = 278 )
  95.    LEFT JOIN
  96.       b_iblock_element_property sort_site
  97.       ON ( sort_site.IBLOCK_ELEMENT_ID = promo.ID
  98.       AND sort_site.VALUE = 'SA'
  99.       AND sort_site.IBLOCK_PROPERTY_ID = 521 )
  100. WHERE
  101.    promo.ACTIVE = 'Y'
  102.    AND promo.ACTIVE_TO IS NOT NULL
  103.    AND promo.ACTIVE_FROM IS NOT NULL
  104.    AND promo.IBLOCK_ID = 44
  105.    AND event.VALUE = 2589
  106. GROUP BY
  107.    promo.ID
  108. HAVING
  109. ( LOCATE( 'GLOBAL', DISABLED_PROMO_SITES ) IS NULL
  110.    OR LOCATE( 'GLOBAL', DISABLED_PROMO_SITES ) = 0 )
  111.    AND
  112.    (
  113.       LOCATE( 'GLOBAL', DISABLED_PROD_SITES ) IS NULL
  114.       OR LOCATE( 'GLOBAL', DISABLED_PROD_SITES ) = 0
  115.    )
  116.    AND
  117.    (
  118.       LOCATE( 'desktop', DISABLED_PLATFORM ) IS NULL
  119.       OR LOCATE( 'desktop', DISABLED_PLATFORM ) = 0
  120.    )
  121. ORDER BY
  122.    SORT DESC,
  123.    promo.ID DESC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement