Gistrec icon

Битрикс? Может его просто сжечь накуй?

Gistrec | PRO | 10/05/18 10:41:35 AM UTC | 0 ⭐ | 919 👁️ | Never ⏰ | []
SQL |

10.01 KB

|

None

|

0 👍

/

0 👎

# Стандартный SQL запрос битрикса
# Выполняется около 0.2 сек
 
SELECT DISTINCT BE.ID AS ID,
                DATE_FORMAT(DATE_ADD(BE.TIMESTAMP_X, INTERVAL 18000 SECOND), '%d.%m.%Y %H:%i:%s') AS TIMESTAMP_X,
                UNIX_TIMESTAMP(BE.TIMESTAMP_X) AS TIMESTAMP_X_UNIX,
                BE.MODIFIED_BY AS MODIFIED_BY,
                DATE_FORMAT(DATE_ADD(BE.DATE_CREATE, INTERVAL 18000 SECOND), '%d.%m.%Y %H:%i:%s') AS DATE_CREATE,
                UNIX_TIMESTAMP(BE.DATE_CREATE) AS DATE_CREATE_UNIX,
                BE.CREATED_BY AS CREATED_BY,
                BE.IBLOCK_ID AS IBLOCK_ID,
                BE.IBLOCK_SECTION_ID AS IBLOCK_SECTION_ID,
                BE.ACTIVE AS ACTIVE,
                IF(EXTRACT(HOUR_SECOND
                           FROM BE.ACTIVE_FROM)>0, DATE_FORMAT(DATE_ADD(BE.ACTIVE_FROM, INTERVAL 18000 SECOND), '%d.%m.%Y %H:%i:%s'), DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y')) AS ACTIVE_FROM,
                IF(EXTRACT(HOUR_SECOND
                           FROM BE.ACTIVE_TO)>0, DATE_FORMAT(DATE_ADD(BE.ACTIVE_TO, INTERVAL 18000 SECOND), '%d.%m.%Y %H:%i:%s'), DATE_FORMAT(BE.ACTIVE_TO, '%d.%m.%Y')) AS ACTIVE_TO,
                IF(EXTRACT(HOUR_SECOND
                           FROM BE.ACTIVE_FROM)>0, DATE_FORMAT(DATE_ADD(BE.ACTIVE_FROM, INTERVAL 18000 SECOND), '%d.%m.%Y %H:%i:%s'), DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y')) AS DATE_ACTIVE_FROM,
                IF(EXTRACT(HOUR_SECOND
                           FROM BE.ACTIVE_TO)>0, DATE_FORMAT(DATE_ADD(BE.ACTIVE_TO, INTERVAL 18000 SECOND), '%d.%m.%Y %H:%i:%s'), DATE_FORMAT(BE.ACTIVE_TO, '%d.%m.%Y')) AS DATE_ACTIVE_TO,
                BE.SORT AS
SORT,
                BE.NAME AS NAME,
                BE.PREVIEW_PICTURE AS PREVIEW_PICTURE,
                BE.PREVIEW_TEXT AS PREVIEW_TEXT,
                BE.PREVIEW_TEXT_TYPE AS PREVIEW_TEXT_TYPE,
                BE.DETAIL_PICTURE AS DETAIL_PICTURE,
                BE.DETAIL_TEXT AS DETAIL_TEXT,
                BE.DETAIL_TEXT_TYPE AS DETAIL_TEXT_TYPE,
                BE.SEARCHABLE_CONTENT AS SEARCHABLE_CONTENT,
                BE.WF_STATUS_ID AS WF_STATUS_ID,
                BE.WF_PARENT_ELEMENT_ID AS WF_PARENT_ELEMENT_ID,
                BE.WF_LAST_HISTORY_ID AS WF_LAST_HISTORY_ID,
                BE.WF_NEW AS WF_NEW,
                IF (BE.WF_DATE_LOCK IS NULL,
                                       'green',
                                       IF(DATE_ADD(BE.WF_DATE_LOCK, INTERVAL 60 MINUTE)<now(), 'green', IF(BE.WF_LOCKED_BY=3, 'yellow', 'red'))) AS LOCK_STATUS,
                   BE.WF_LOCKED_BY AS WF_LOCKED_BY,
                   DATE_FORMAT(DATE_ADD(BE.WF_DATE_LOCK, INTERVAL 18000 SECOND), '%d.%m.%Y %H:%i:%s') AS WF_DATE_LOCK,
                   BE.WF_COMMENTS AS WF_COMMENTS,
                   BE.IN_SECTIONS AS IN_SECTIONS,
                   BE.SHOW_COUNTER AS SHOW_COUNTER,
                   DATE_FORMAT(DATE_ADD(BE.SHOW_COUNTER_START, INTERVAL 18000 SECOND), '%d.%m.%Y %H:%i:%s') AS SHOW_COUNTER_START,
                   BE.CODE AS CODE,
                   BE.TAGS AS TAGS,
                   BE.XML_ID AS XML_ID,
                   BE.XML_ID AS EXTERNAL_ID,
                   BE.TMP_ID AS TMP_ID,
                   concat('(', U.LOGIN, ') ', ifnull(U.NAME, ''), ' ', ifnull(U.LAST_NAME, '')) AS USER_NAME,
                   concat('(', UL.LOGIN, ') ', ifnull(UL.NAME, ''), ' ', ifnull(UL.LAST_NAME, '')) AS LOCKED_USER_NAME,
                   concat('(', UC.LOGIN, ') ', ifnull(UC.NAME, ''), ' ', ifnull(UC.LAST_NAME, '')) AS CREATED_USER_NAME,
                   L.DIR AS LANG_DIR,
                   B.LID AS LID,
                   B.IBLOCK_TYPE_ID AS IBLOCK_TYPE_ID,
                   B.CODE AS IBLOCK_CODE,
                   B.NAME AS IBLOCK_NAME,
                   B.XML_ID AS IBLOCK_EXTERNAL_ID,
                   B.DETAIL_PAGE_URL AS DETAIL_PAGE_URL,
                   B.LIST_PAGE_URL AS LIST_PAGE_URL,
                   B.CANONICAL_PAGE_URL AS CANONICAL_PAGE_URL,
                   DATE_FORMAT(BE.DATE_CREATE, '%Y.%m.%d') AS CREATED_DATE,
                   IF(BE.WF_STATUS_ID = 1, 'Y', 'N') AS BP_PUBLISHED,
                   CAT_P1.ID AS CATALOG_PRICE_ID_1,
                   CAT_P1.CATALOG_GROUP_ID AS CATALOG_GROUP_ID_1,
                   CAT_P1.PRICE AS CATALOG_PRICE_1,
                   CAT_P1.CURRENCY AS CATALOG_CURRENCY_1,
                   CAT_P1.QUANTITY_FROM AS CATALOG_QUANTITY_FROM_1,
                   CAT_P1.QUANTITY_TO AS CATALOG_QUANTITY_TO_1,
                   'Цена' AS CATALOG_GROUP_NAME_1,
                   'Y' AS CATALOG_CAN_ACCESS_1,
                   'Y' AS CATALOG_CAN_BUY_1,
                   CAT_P1.EXTRA_ID AS CATALOG_EXTRA_ID_1,
                   CAT_PR.QUANTITY AS CATALOG_QUANTITY,
                   CAT_PR.QUANTITY_RESERVED AS CATALOG_QUANTITY_RESERVED,
                   IF (CAT_PR.QUANTITY_TRACE = 'D',
                       'Y',
                       CAT_PR.QUANTITY_TRACE) AS CATALOG_QUANTITY_TRACE,
                      CAT_PR.QUANTITY_TRACE AS CATALOG_QUANTITY_TRACE_ORIG,
                      IF (CAT_PR.CAN_BUY_ZERO = 'D',
                          'N',
                          CAT_PR.CAN_BUY_ZERO) AS CATALOG_CAN_BUY_ZERO,
                         CAT_PR.CAN_BUY_ZERO AS CATALOG_CAN_BUY_ZERO_ORIG,
                         IF (CAT_PR.NEGATIVE_AMOUNT_TRACE = 'D',
                             'Y',
                             CAT_PR.NEGATIVE_AMOUNT_TRACE) AS CATALOG_NEGATIVE_AMOUNT_TRACE,
                            CAT_PR.NEGATIVE_AMOUNT_TRACE AS CATALOG_NEGATIVE_AMOUNT_ORIG,
                            IF (CAT_PR.SUBSCRIBE = 'D',
                                'Y',
                                CAT_PR.SUBSCRIBE) AS CATALOG_SUBSCRIBE,
                               CAT_PR.SUBSCRIBE AS CATALOG_SUBSCRIBE_ORIG,
                               IF (CAT_PR.QUANTITY > 0
                                   OR IF (CAT_PR.QUANTITY_TRACE = 'D',
                                          'Y',
                                          CAT_PR.QUANTITY_TRACE) = 'N'
                                   OR IF (CAT_PR.CAN_BUY_ZERO = 'D',
                                          'N',
                                          CAT_PR.CAN_BUY_ZERO) = 'Y',
                                         'Y',
                                         'N') AS CATALOG_AVAILABLE,
                                  CAT_PR.WEIGHT AS CATALOG_WEIGHT,
                                  CAT_PR.WIDTH AS CATALOG_WIDTH,
                                  CAT_PR.LENGTH AS CATALOG_LENGTH,
                                  CAT_PR.HEIGHT AS CATALOG_HEIGHT,
                                  CAT_PR.MEASURE AS CATALOG_MEASURE,
                                  CAT_VAT.RATE AS CATALOG_VAT,
                                  CAT_PR.VAT_INCLUDED AS CATALOG_VAT_INCLUDED,
                                  CAT_PR.PRICE_TYPE AS CATALOG_PRICE_TYPE,
                                  CAT_PR.RECUR_SCHEME_TYPE AS CATALOG_RECUR_SCHEME_TYPE,
                                  CAT_PR.RECUR_SCHEME_LENGTH AS CATALOG_RECUR_SCHEME_LENGTH,
                                  CAT_PR.TRIAL_PRICE_ID AS CATALOG_TRIAL_PRICE_ID,
                                  CAT_PR.WITHOUT_ORDER AS CATALOG_WITHOUT_ORDER,
                                  CAT_PR.SELECT_BEST_PRICE AS CATALOG_SELECT_BEST_PRICE,
                                  CAT_PR.PURCHASING_PRICE AS CATALOG_PURCHASING_PRICE,
                                  CAT_PR.PURCHASING_CURRENCY AS CATALOG_PURCHASING_CURRENCY,
                                  CAT_PR.TYPE AS CATALOG_TYPE
FROM b_iblock B
INNER JOIN b_lang L ON B.LID=L.LID
INNER JOIN b_iblock_element BE ON BE.IBLOCK_ID = B.ID
INNER JOIN b_iblock_property FP0 ON FP0.IBLOCK_ID = B.ID
AND FP0.CODE='YEAR'
INNER JOIN b_iblock_property FP1 ON FP1.IBLOCK_ID = B.ID
AND FP1.CODE='MODEL'
INNER JOIN b_iblock_element_prop_m2 FPV0 ON FPV0.IBLOCK_PROPERTY_ID = FP0.ID
AND FPV0.IBLOCK_ELEMENT_ID = BE.ID
INNER JOIN b_iblock_element_prop_m2 FPV1 ON FPV1.IBLOCK_PROPERTY_ID = FP1.ID
AND FPV1.IBLOCK_ELEMENT_ID = BE.ID
INNER JOIN b_iblock_2_index FC ON FC.ELEMENT_ID = BE.ID
LEFT JOIN b_catalog_price CAT_P1 ON (CAT_P1.PRODUCT_ID = BE.ID
                                     AND CAT_P1.CATALOG_GROUP_ID = 1)
AND ((CAT_P1.QUANTITY_FROM <= 1
      OR CAT_P1.QUANTITY_FROM IS NULL)
     AND (CAT_P1.QUANTITY_TO >= 1
          OR CAT_P1.QUANTITY_TO IS NULL))
LEFT JOIN b_catalog_product CAT_PR ON (CAT_PR.ID = BE.ID)
LEFT JOIN b_catalog_iblock CAT_IB ON ((CAT_PR.VAT_ID IS NULL
                                       OR CAT_PR.VAT_ID = 0)
                                      AND CAT_IB.IBLOCK_ID = BE.IBLOCK_ID)
LEFT JOIN b_catalog_vat CAT_VAT ON (CAT_VAT.ID = IF((CAT_PR.VAT_ID IS NULL
                                                     OR CAT_PR.VAT_ID = 0), CAT_IB.VAT_ID, CAT_PR.VAT_ID))
LEFT JOIN b_user U ON U.ID=BE.MODIFIED_BY
LEFT JOIN b_user UL ON UL.ID=BE.WF_LOCKED_BY
LEFT JOIN b_user UC ON UC.ID=BE.CREATED_BY
WHERE 1=1
  AND ((FC.SECTION_ID = 8
        AND FC.FACET_ID = 1
        AND FC.VALUE_NUM = 0
        AND FC.VALUE IN (0))
       AND ((((BE.IBLOCK_ID = '2'))))
       AND (EXISTS
              (SELECT IBLOCK_ID
               FROM b_iblock_site
               WHERE IBLOCK_ID = B.ID
                 AND (((SITE_ID='s1'))) ))
       AND ((((B.ACTIVE='Y'))))
       AND (((BE.ACTIVE_TO >= now()
              OR BE.ACTIVE_TO IS NULL)
             AND (BE.ACTIVE_FROM <= now()
                  OR BE.ACTIVE_FROM IS NULL)))
       AND ((((BE.ACTIVE='Y'))))
       AND ((IF (CAT_PR.QUANTITY > 0
                 OR IF (CAT_PR.QUANTITY_TRACE = 'D',
                        'Y',
                        CAT_PR.QUANTITY_TRACE) = 'N'
                 OR IF (CAT_PR.CAN_BUY_ZERO = 'D',
                        'N',
                        CAT_PR.CAN_BUY_ZERO) = 'Y',
                       'Y',
                       'N') = 'Y'))
       AND (1=1)
       AND ((((FPV0.VALUE LIKE '1991'))))
       AND ((((FPV1.VALUE_NUM = '695')))))
  AND (((BE.WF_STATUS_ID=1
         AND BE.WF_PARENT_ELEMENT_ID IS NULL)))

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎