Advertisement
Guest User

Untitled

a guest
Apr 26th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 4.11 KB | None | 0 0
  1. SELECT
  2.                 (@row_number:=@row_number + 1) AS product_position
  3.                 , pa.id as product_id
  4.                 , (
  5.                     SELECT DISTINCT
  6.                         ct_art.`text`
  7.                     FROM char_art AS ca_art
  8.                     INNER JOIN `char` AS c_art ON c_art.id =
  9. ca_art.ca_char_id AND c_art.cha_type = 't'
  10.                     LEFT JOIN char_text AS ct_art ON ct_art.id =
  11. ca_art.ca_char_text_id
  12.                     WHERE ca_art.ca_pa_id = pa.id
  13.                     LIMIT 1
  14.                 ) AS char_art_num
  15.                 , IFNULL (pm.mask_for_id, 'Нет имени') AS
  16. product_title
  17.                 , pa.art_num as product_art_num
  18.                 , pa.pa_ga_id as product_ga_id
  19.                 , ba.NAME_BRANDS AS brand_name
  20.                 , bt.country AS brand_country
  21.                 , ba.url as brand_url
  22.                 , dg.name_ru as product_name
  23.                 , pa.price_torg as price
  24.                 , pa.avalaible_gen AS available
  25.                 , pa.art_num as article
  26.                 , pa.pod_zakaz AS pod_zakaz
  27.                 , dr.id as razdelId
  28.                 , di.id as izdelieId
  29.                 , di.grand_parent_id as rubrikaId
  30.                 , (
  31.                     SELECT MIN(canonical_prices_all.id)
  32.                     FROM prices_all AS canonical_prices_all
  33.                     WHERE
  34.                       pa.art_num = canonical_prices_all.art_num
  35.                       AND canonical_prices_all.brand_id = pa.brand_id
  36.                 ) AS canonical_id
  37.                 , (
  38.                     SELECT
  39.                     GROUP_CONCAT(DISTINCT CONCAT(ct1.text, ':',
  40. IFNULL(ct2.text, IFNULL(ca_char_int, ca_char_decimal)), IFNULL(ct3.text,'')
  41. ) ORDER BY cd.tile SEPARATOR '/') AS tile
  42.                     FROM char_art ca
  43.                     LEFT JOIN `char` c ON ca.ca_char_id = c.id
  44.                     LEFT JOIN char_dga cd ON c.id = cd.char_id AND cd.dr_id
  45. = :DOK_RAZDEL_ID
  46.                     LEFT JOIN char_text ct1 ON c.cha_name_id = ct1.id
  47.                     LEFT JOIN char_text ct2 ON IFNULL(ca.is_collapse,
  48. ca.ca_char_text_id) = ct2.id
  49.                     LEFT JOIN char_text ct3 ON c.cha_name_unit_id = ct3.id
  50.                     WHERE ca.ca_pa_id = pa.id AND cd.tile IS NOT NULL
  51.                 ) AS tile
  52.                 , pa_min.rating as rating
  53.                 , pa_min.rating_count as rating_count
  54.             FROM (
  55.                     SELECT DISTINCT  
  56.                         pa.art_num,
  57.                         (SELECT @row_number:= :OFFSET) AS pos,
  58.                         MAX(pdr.pdr_rounded_rating) as
  59. rating,MAX(pdr.pdr_rating_count) as rating_count,MIN(pa.price_torg) as
  60. price,SUBSTRING_INDEX(GROUP_CONCAT(pa.id ORDER BY pa.price_torg ASC
  61. SEPARATOR ','), ',', 1) as prices_all_id
  62.                     FROM PA_TYP_GA ptg
  63.                     LEFT JOIN prices_all pa ON pa.id = ptg.ptg_pa_id
  64.                     LEFT JOIN char_art ON pa.id = char_art.ca_pa_id
  65.                     LEFT JOIN char_text ON char_art.ca_char_text_id =
  66. char_text.id
  67.                     LEFT JOIN PA_DR_RATING pdr ON pa.id = pdr.pdr_pa_id
  68.                    
  69.                     WHERE
  70.                         pa.avalaible_gen IN (0, 1)
  71.                         AND ptg.ptg_dr_id = :DOK_RAZDEL_ID AND
  72. ptg.ptg_typ_id = :TYP_ID
  73.                          AND pa.price_torg >= 1589.32
  74.                        
  75.                        
  76.                        
  77.                        
  78.                     GROUP BY art_num
  79.                     ORDER BY price ASC
  80.                     LIMIT  :LIMIT
  81.                     OFFSET :OFFSET
  82.             ) pa_min
  83.             LEFT JOIN prices_all pa ON pa.id = pa_min.prices_all_id
  84.             LEFT JOIN dok_ga dg ON pa.pa_ga_id_search = dg.GA_ID
  85.             LEFT JOIN dok_razdel dr ON dg.parent_id = dr.id
  86.             LEFT JOIN dok_izdelie di ON dr.parent_id = di.id
  87.             LEFT JOIN brand_all ba ON pa.brand_id = ba.id
  88.             LEFT JOIN brand_text bt ON ba.id = bt.brand_id
  89.             LEFT JOIN pa_mask pm ON pm.id = pa.id
  90.         . Bound with DOK_RAZDEL_ID=242, LIMIT=12, OFFSET=0, TYP_ID=4154
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement