1
5.53 ms
SELECT p0_ . id AS sclr_0 , p1_ . name AS sclr_1 , p0_ . reference AS sclr_2 FROM product_category p2_ INNER JOIN product_category_offers p0_ ON (p0_ . event = p2_ . event ) LEFT JOIN product_category_offers_trans p1_ ON (p1_ . offer = p0_ . id AND p1_ . local = ? ) WHERE p2_ . id = ?
Parameters :
[
"ru "
"01876af0-ddfc-70c3-ab25-5f85f55a9907 "
]
SELECT p0_ . id AS sclr_0 , p1_ . name AS sclr_1 , p0_ . reference AS sclr_2 FROM product_category p2_ INNER JOIN product_category_offers p0_ ON (p0_ . event = p2_ . event ) LEFT JOIN product_category_offers_trans p1_ ON (p1_ . offer = p0_ . id AND p1_ . local = 'ru' ) WHERE p2_ . id = '01876af0-ddfc-70c3-ab25-5f85f55a9907' ;
Copy
2
2.81 ms
SELECT p0_ . id AS sclr_0 , p1_ . name AS sclr_1 , p0_ . reference AS sclr_2 FROM product_category_offers p2_ INNER JOIN product_category_variation p0_ ON (p0_ . offer = p2_ . id ) LEFT JOIN product_category_variation_trans p1_ ON (p1_ . variation = p0_ . id AND p1_ . local = ? ) WHERE p2_ . id = ?
Parameters :
[
"ru "
"01876af0-ddff-727a-a933-76ca3c645d18 "
]
SELECT p0_ . id AS sclr_0 , p1_ . name AS sclr_1 , p0_ . reference AS sclr_2 FROM product_category_offers p2_ INNER JOIN product_category_variation p0_ ON (p0_ . offer = p2_ . id ) LEFT JOIN product_category_variation_trans p1_ ON (p1_ . variation = p0_ . id AND p1_ . local = 'ru' ) WHERE p2_ . id = '01876af0-ddff-727a-a933-76ca3c645d18' ;
Copy
3
2.71 ms
SELECT p0_ . id AS sclr_0 , p1_ . name AS sclr_1 , p0_ . reference AS sclr_2 FROM product_category_variation p2_ INNER JOIN product_category_modification p0_ ON (p0_ . variation = p2_ . id ) LEFT JOIN product_category_modification_trans p1_ ON (p1_ . modification = p0_ . id AND p1_ . local = ? ) WHERE p2_ . id = ?
Parameters :
[
"ru "
"01876af0-ddff-727a-a933-76ca3cb68e47 "
]
SELECT p0_ . id AS sclr_0 , p1_ . name AS sclr_1 , p0_ . reference AS sclr_2 FROM product_category_variation p2_ INNER JOIN product_category_modification p0_ ON (p0_ . variation = p2_ . id ) LEFT JOIN product_category_modification_trans p1_ ON (p1_ . modification = p0_ . id AND p1_ . local = 'ru' ) WHERE p2_ . id = '01876af0-ddff-727a-a933-76ca3cb68e47' ;
Copy
4
23.09 ms
SELECT DISTINCT
CASE
WHEN category_offers . reference = ?
THEN offer . value
WHEN category_variation . reference = ?
THEN variation . value
WHEN category_modification . reference = ?
THEN modification . value
ELSE NULL
END AS value
FROM product LEFT JOIN product_offer offer ON offer . event = product . event LEFT JOIN product_variation variation ON variation . offer = offer . id LEFT JOIN product_category_offers category_offers ON category_offers . id = offer . category_offer LEFT JOIN product_offer_quantity offer_quantity ON offer_quantity . offer = offer . id LEFT JOIN product_modification modification ON modification . variation = variation . id LEFT JOIN product_category_variation category_variation ON category_variation . id = variation . category_variation LEFT JOIN product_variation_quantity variation_quantity ON variation_quantity . variation = variation . id LEFT JOIN product_category_modification category_modification ON category_modification . id = modification . category_modification LEFT JOIN product_modification_quantity modification_quantity ON modification_quantity . modification = modification . id WHERE (
(category_offers . reference = ? AND offer . value IN (? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? )) OR
(category_variation . reference = ? AND variation . value IN (? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? )) OR
(category_modification . reference = ? AND modification . value IN (? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ))
) AND ((modification_quantity . quantity > 0
OR variation_quantity . quantity > 0
OR offer_quantity . quantity > 0 )) ORDER BY value
Parameters :
[
"tire_radius_field "
"tire_radius_field "
"tire_radius_field "
"tire_radius_field "
"12 "
"12C "
"13 "
"13C "
"14 "
"14C "
"15 "
"15C "
"16 "
"16C "
"17 "
"17C "
"18 "
"18C "
"19 "
"19C "
"20 "
"20C "
"21 "
"21C "
"22 "
"22C "
"23 "
"23C "
"24 "
"24C "
"tire_radius_field "
"12 "
"12C "
"13 "
"13C "
"14 "
"14C "
"15 "
"15C "
"16 "
"16C "
"17 "
"17C "
"18 "
"18C "
"19 "
"19C "
"20 "
"20C "
"21 "
"21C "
"22 "
"22C "
"23 "
"23C "
"24 "
"24C "
"tire_radius_field "
"12 "
"12C "
"13 "
"13C "
"14 "
"14C "
"15 "
"15C "
"16 "
"16C "
"17 "
"17C "
"18 "
"18C "
"19 "
"19C "
"20 "
"20C "
"21 "
"21C "
"22 "
"22C "
"23 "
"23C "
"24 "
"24C "
]
SELECT
DISTINCT CASE WHEN category_offers . reference = ? THEN
offer . value
WHEN category_variation . reference = ? THEN
variation . value
WHEN category_modification . reference = ? THEN
modification . value
ELSE
NULL
END AS value
FROM
product
LEFT JOIN product_offer offer ON offer . event = product . event
LEFT JOIN product_variation variation ON variation . offer = offer . id
LEFT JOIN product_category_offers category_offers ON category_offers . id = offer . category_offer
LEFT JOIN product_offer_quantity offer_quantity ON offer_quantity . offer = offer . id
LEFT JOIN product_modification modification ON modification . variation = variation . id
LEFT JOIN product_category_variation category_variation ON category_variation . id = variation . category_variation
LEFT JOIN product_variation_quantity variation_quantity ON variation_quantity . variation = variation . id
LEFT JOIN product_category_modification category_modification ON category_modification . id = modification . category_modification
LEFT JOIN product_modification_quantity modification_quantity ON modification_quantity . modification = modification . id
WHERE
(
(
category_offers . reference = ?
AND offer . value IN (
? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
? , ? , ? , ? , ? , ? , ? , ? , ? , ?
)
)
OR (
category_variation . reference = ?
AND variation . value IN (
? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
? , ? , ? , ? , ? , ? , ? , ? , ? , ?
)
)
OR (
category_modification . reference = ?
AND modification . value IN (
? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
? , ? , ? , ? , ? , ? , ? , ? , ? , ?
)
)
)
AND (
(
modification_quantity . quantity > 0
OR variation_quantity . quantity > 0
OR offer_quantity . quantity > 0
)
)
ORDER BY
value
Copy
SELECT DISTINCT
CASE
WHEN category_offers . reference = 'tire_radius_field'
THEN offer . value
WHEN category_variation . reference = 'tire_radius_field'
THEN variation . value
WHEN category_modification . reference = 'tire_radius_field'
THEN modification . value
ELSE NULL
END AS value
FROM product LEFT JOIN product_offer offer ON offer . event = product . event LEFT JOIN product_variation variation ON variation . offer = offer . id LEFT JOIN product_category_offers category_offers ON category_offers . id = offer . category_offer LEFT JOIN product_offer_quantity offer_quantity ON offer_quantity . offer = offer . id LEFT JOIN product_modification modification ON modification . variation = variation . id LEFT JOIN product_category_variation category_variation ON category_variation . id = variation . category_variation LEFT JOIN product_variation_quantity variation_quantity ON variation_quantity . variation = variation . id LEFT JOIN product_category_modification category_modification ON category_modification . id = modification . category_modification LEFT JOIN product_modification_quantity modification_quantity ON modification_quantity . modification = modification . id WHERE (
(category_offers . reference = 'tire_radius_field' AND offer . value IN ('12' , '12C' , '13' , '13C' , '14' , '14C' , '15' , '15C' , '16' , '16C' , '17' , '17C' , '18' , '18C' , '19' , '19C' , '20' , '20C' , '21' , '21C' , '22' , '22C' , '23' , '23C' , '24' , '24C' )) OR
(category_variation . reference = 'tire_radius_field' AND variation . value IN ('12' , '12C' , '13' , '13C' , '14' , '14C' , '15' , '15C' , '16' , '16C' , '17' , '17C' , '18' , '18C' , '19' , '19C' , '20' , '20C' , '21' , '21C' , '22' , '22C' , '23' , '23C' , '24' , '24C' )) OR
(category_modification . reference = 'tire_radius_field' AND modification . value IN ('12' , '12C' , '13' , '13C' , '14' , '14C' , '15' , '15C' , '16' , '16C' , '17' , '17C' , '18' , '18C' , '19' , '19C' , '20' , '20C' , '21' , '21C' , '22' , '22C' , '23' , '23C' , '24' , '24C' ))
) AND ((modification_quantity . quantity > 0
OR variation_quantity . quantity > 0
OR offer_quantity . quantity > 0 )) ORDER BY value ;
Copy
5
12.55 ms
SELECT DISTINCT
CASE
WHEN category_offers . reference = ?
THEN offer . value
WHEN category_variation . reference = ?
THEN variation . value
WHEN category_modification . reference = ?
THEN modification . value
ELSE NULL
END AS value
FROM product LEFT JOIN product_offer offer ON offer . event = product . event LEFT JOIN product_variation variation ON variation . offer = offer . id LEFT JOIN product_category_offers category_offers ON category_offers . id = offer . category_offer LEFT JOIN product_offer_quantity offer_quantity ON offer_quantity . offer = offer . id LEFT JOIN product_modification modification ON modification . variation = variation . id LEFT JOIN product_category_variation category_variation ON category_variation . id = variation . category_variation LEFT JOIN product_variation_quantity variation_quantity ON variation_quantity . variation = variation . id LEFT JOIN product_category_modification category_modification ON category_modification . id = modification . category_modification LEFT JOIN product_modification_quantity modification_quantity ON modification_quantity . modification = modification . id WHERE (
(category_offers . reference = ? AND offer . value IN (? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? )) OR
(category_variation . reference = ? AND variation . value IN (? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? )) OR
(category_modification . reference = ? AND modification . value IN (? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ))
) AND ((modification_quantity . quantity > 0
OR variation_quantity . quantity > 0
OR offer_quantity . quantity > 0 )) ORDER BY value
Parameters :
[
"tire_width_field "
"tire_width_field "
"tire_width_field "
"tire_width_field "
30
31
32
33
34
35
36
37
145
155
165
175
185
195
205
215
225
235
245
255
265
275
285
295
305
315
325
"tire_width_field "
30
31
32
33
34
35
36
37
145
155
165
175
185
195
205
215
225
235
245
255
265
275
285
295
305
315
325
"tire_width_field "
30
31
32
33
34
35
36
37
145
155
165
175
185
195
205
215
225
235
245
255
265
275
285
295
305
315
325
]
SELECT
DISTINCT CASE WHEN category_offers . reference = ? THEN
offer . value
WHEN category_variation . reference = ? THEN
variation . value
WHEN category_modification . reference = ? THEN
modification . value
ELSE
NULL
END AS value
FROM
product
LEFT JOIN product_offer offer ON offer . event = product . event
LEFT JOIN product_variation variation ON variation . offer = offer . id
LEFT JOIN product_category_offers category_offers ON category_offers . id = offer . category_offer
LEFT JOIN product_offer_quantity offer_quantity ON offer_quantity . offer = offer . id
LEFT JOIN product_modification modification ON modification . variation = variation . id
LEFT JOIN product_category_variation category_variation ON category_variation . id = variation . category_variation
LEFT JOIN product_variation_quantity variation_quantity ON variation_quantity . variation = variation . id
LEFT JOIN product_category_modification category_modification ON category_modification . id = modification . category_modification
LEFT JOIN product_modification_quantity modification_quantity ON modification_quantity . modification = modification . id
WHERE
(
(
category_offers . reference = ?
AND offer . value IN (
? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ?
)
)
OR (
category_variation . reference = ?
AND variation . value IN (
? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ?
)
)
OR (
category_modification . reference = ?
AND modification . value IN (
? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ?
)
)
)
AND (
(
modification_quantity . quantity > 0
OR variation_quantity . quantity > 0
OR offer_quantity . quantity > 0
)
)
ORDER BY
value
Copy
SELECT DISTINCT
CASE
WHEN category_offers . reference = 'tire_width_field'
THEN offer . value
WHEN category_variation . reference = 'tire_width_field'
THEN variation . value
WHEN category_modification . reference = 'tire_width_field'
THEN modification . value
ELSE NULL
END AS value
FROM product LEFT JOIN product_offer offer ON offer . event = product . event LEFT JOIN product_variation variation ON variation . offer = offer . id LEFT JOIN product_category_offers category_offers ON category_offers . id = offer . category_offer LEFT JOIN product_offer_quantity offer_quantity ON offer_quantity . offer = offer . id LEFT JOIN product_modification modification ON modification . variation = variation . id LEFT JOIN product_category_variation category_variation ON category_variation . id = variation . category_variation LEFT JOIN product_variation_quantity variation_quantity ON variation_quantity . variation = variation . id LEFT JOIN product_category_modification category_modification ON category_modification . id = modification . category_modification LEFT JOIN product_modification_quantity modification_quantity ON modification_quantity . modification = modification . id WHERE (
(category_offers . reference = 'tire_width_field' AND offer . value IN (30 , 31 , 32 , 33 , 34 , 35 , 36 , 37 , 145 , 155 , 165 , 175 , 185 , 195 , 205 , 215 , 225 , 235 , 245 , 255 , 265 , 275 , 285 , 295 , 305 , 315 , 325 )) OR
(category_variation . reference = 'tire_width_field' AND variation . value IN (30 , 31 , 32 , 33 , 34 , 35 , 36 , 37 , 145 , 155 , 165 , 175 , 185 , 195 , 205 , 215 , 225 , 235 , 245 , 255 , 265 , 275 , 285 , 295 , 305 , 315 , 325 )) OR
(category_modification . reference = 'tire_width_field' AND modification . value IN (30 , 31 , 32 , 33 , 34 , 35 , 36 , 37 , 145 , 155 , 165 , 175 , 185 , 195 , 205 , 215 , 225 , 235 , 245 , 255 , 265 , 275 , 285 , 295 , 305 , 315 , 325 ))
) AND ((modification_quantity . quantity > 0
OR variation_quantity . quantity > 0
OR offer_quantity . quantity > 0 )) ORDER BY value ;
Copy
6
11.73 ms
SELECT DISTINCT
CASE
WHEN category_offers . reference = ?
THEN offer . value
WHEN category_variation . reference = ?
THEN variation . value
WHEN category_modification . reference = ?
THEN modification . value
ELSE NULL
END AS value
FROM product LEFT JOIN product_offer offer ON offer . event = product . event LEFT JOIN product_variation variation ON variation . offer = offer . id LEFT JOIN product_category_offers category_offers ON category_offers . id = offer . category_offer LEFT JOIN product_offer_quantity offer_quantity ON offer_quantity . offer = offer . id LEFT JOIN product_modification modification ON modification . variation = variation . id LEFT JOIN product_category_variation category_variation ON category_variation . id = variation . category_variation LEFT JOIN product_variation_quantity variation_quantity ON variation_quantity . variation = variation . id LEFT JOIN product_category_modification category_modification ON category_modification . id = modification . category_modification LEFT JOIN product_modification_quantity modification_quantity ON modification_quantity . modification = modification . id WHERE (
(category_offers . reference = ? AND offer . value IN (? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? )) OR
(category_variation . reference = ? AND variation . value IN (? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? )) OR
(category_modification . reference = ? AND modification . value IN (? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ))
) AND ((modification_quantity . quantity > 0
OR variation_quantity . quantity > 0
OR offer_quantity . quantity > 0 )) ORDER BY value
Parameters :
[
"tire_profile_field "
"tire_profile_field "
"tire_profile_field "
"tire_profile_field "
9.5
10.5
11.5
12.5
30
35
40
45
50
55
60
65
70
75
80
85
"tire_profile_field "
9.5
10.5
11.5
12.5
30
35
40
45
50
55
60
65
70
75
80
85
"tire_profile_field "
9.5
10.5
11.5
12.5
30
35
40
45
50
55
60
65
70
75
80
85
]
SELECT
DISTINCT CASE WHEN category_offers . reference = ? THEN
offer . value
WHEN category_variation . reference = ? THEN
variation . value
WHEN category_modification . reference = ? THEN
modification . value
ELSE
NULL
END AS value
FROM
product
LEFT JOIN product_offer offer ON offer . event = product . event
LEFT JOIN product_variation variation ON variation . offer = offer . id
LEFT JOIN product_category_offers category_offers ON category_offers . id = offer . category_offer
LEFT JOIN product_offer_quantity offer_quantity ON offer_quantity . offer = offer . id
LEFT JOIN product_modification modification ON modification . variation = variation . id
LEFT JOIN product_category_variation category_variation ON category_variation . id = variation . category_variation
LEFT JOIN product_variation_quantity variation_quantity ON variation_quantity . variation = variation . id
LEFT JOIN product_category_modification category_modification ON category_modification . id = modification . category_modification
LEFT JOIN product_modification_quantity modification_quantity ON modification_quantity . modification = modification . id
WHERE
(
(
category_offers . reference = ?
AND offer . value IN (
? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ?
)
)
OR (
category_variation . reference = ?
AND variation . value IN (
? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ?
)
)
OR (
category_modification . reference = ?
AND modification . value IN (
? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ?
)
)
)
AND (
(
modification_quantity . quantity > 0
OR variation_quantity . quantity > 0
OR offer_quantity . quantity > 0
)
)
ORDER BY
value
Copy
SELECT DISTINCT
CASE
WHEN category_offers . reference = 'tire_profile_field'
THEN offer . value
WHEN category_variation . reference = 'tire_profile_field'
THEN variation . value
WHEN category_modification . reference = 'tire_profile_field'
THEN modification . value
ELSE NULL
END AS value
FROM product LEFT JOIN product_offer offer ON offer . event = product . event LEFT JOIN product_variation variation ON variation . offer = offer . id LEFT JOIN product_category_offers category_offers ON category_offers . id = offer . category_offer LEFT JOIN product_offer_quantity offer_quantity ON offer_quantity . offer = offer . id LEFT JOIN product_modification modification ON modification . variation = variation . id LEFT JOIN product_category_variation category_variation ON category_variation . id = variation . category_variation LEFT JOIN product_variation_quantity variation_quantity ON variation_quantity . variation = variation . id LEFT JOIN product_category_modification category_modification ON category_modification . id = modification . category_modification LEFT JOIN product_modification_quantity modification_quantity ON modification_quantity . modification = modification . id WHERE (
(category_offers . reference = 'tire_profile_field' AND offer . value IN (9.5 , 10.5 , 11.5 , 12.5 , 30 , 35 , 40 , 45 , 50 , 55 , 60 , 65 , 70 , 75 , 80 , 85 )) OR
(category_variation . reference = 'tire_profile_field' AND variation . value IN (9.5 , 10.5 , 11.5 , 12.5 , 30 , 35 , 40 , 45 , 50 , 55 , 60 , 65 , 70 , 75 , 80 , 85 )) OR
(category_modification . reference = 'tire_profile_field' AND modification . value IN (9.5 , 10.5 , 11.5 , 12.5 , 30 , 35 , 40 , 45 , 50 , 55 , 60 , 65 , 70 , 75 , 80 , 85 ))
) AND ((modification_quantity . quantity > 0
OR variation_quantity . quantity > 0
OR offer_quantity . quantity > 0 )) ORDER BY value ;
Copy
7
468.51 ms
SELECT product . id AS product_id , product . event AS product_event , product_trans . name AS product_name , product_info . url AS product_url , product_info . sort AS product_sort , product_active . active_from AS product_active_from , category_offer . card AS category_offer_card , category_offer . reference AS product_offer_reference ,
CASE
WHEN category_offer . card IS NOT NULL AND category_offer . card IS TRUE
THEN product_offer . value
ELSE NULL
END AS product_offer_value
,
CASE
WHEN category_offer . card IS NOT NULL AND category_offer . card IS TRUE
THEN product_offer . postfix
ELSE NULL
END AS product_offer_postfix
,
JSON_AGG ( DISTINCT
CASE
WHEN product_offer . value IS NOT NULL THEN
JSONB_BUILD_OBJECT (
'offer_id' , product_offer . id ,
'offer_value' , product_offer . value ,
'offer_postfix' , product_offer . postfix
)
ELSE NULL
END
) AS offer_agg , category_variation . card AS category_variation_card , category_variation . reference as product_variation_reference ,
CASE
WHEN category_variation . card IS NOT NULL AND category_variation . card IS TRUE
THEN product_variation . value
ELSE NULL
END AS product_variation_value ,
CASE
WHEN category_variation . card IS NOT NULL AND category_variation . card IS TRUE
THEN product_variation . postfix
ELSE NULL
END
AS product_variation_postfix
,
JSON_AGG ( DISTINCT
CASE
WHEN product_variation . value IS NOT NULL THEN
JSONB_BUILD_OBJECT (
'variation_id' , product_variation . id ,
'variation_value' , product_variation . value ,
'variation_postfix' , product_variation . postfix
)
ELSE NULL
END
) AS variation_agg , category_modification . card AS category_modification_card , category_modification . reference as product_modification_reference ,
CASE
WHEN category_modification . card IS NOT NULL AND category_modification . card IS TRUE
THEN product_modification . value
ELSE NULL
END
AS product_modification_value
,
CASE
WHEN category_modification . card IS NOT NULL AND category_modification . card IS TRUE
THEN product_modification . postfix
ELSE NULL
END
AS product_modification_postfix
,
JSON_AGG ( DISTINCT
CASE
WHEN product_modification . value IS NOT NULL THEN
JSONB_BUILD_OBJECT (
'modification_id' , product_modification . id ,
'modification_value' , product_modification . value ,
'modification_postfix' , product_modification . postfix
)
ELSE NULL
END
) AS modification_agg , JSON_AGG ( DISTINCT product_invariable . id ) AS invariable ,
JSON_AGG
(DISTINCT
CASE
WHEN product_offer_images . ext IS NOT NULL
THEN JSONB_BUILD_OBJECT
(
'img_root' , product_offer_images . root ,
'img' , CONCAT ( '/upload/product_offer_images' , '/' , product_offer_images . name ),
'img_ext' , product_offer_images . ext ,
'img_cdn' , product_offer_images . cdn
)
WHEN product_variation_image . ext IS NOT NULL
THEN JSONB_BUILD_OBJECT
(
'img_root' , product_variation_image . root ,
'img' , CONCAT ( '/upload/product_variation_images' , '/' , product_variation_image . name ),
'img_ext' , product_variation_image . ext ,
'img_cdn' , product_variation_image . cdn
)
WHEN product_modification_image . ext IS NOT NULL
THEN JSONB_BUILD_OBJECT
(
'img_root' , product_modification_image . root ,
'img' , CONCAT ( '/upload/product_modification_images' , '/' , product_modification_image . name ),
'img_ext' , product_modification_image . ext ,
'img_cdn' , product_modification_image . cdn
)
WHEN product_photo . ext IS NOT NULL
THEN JSONB_BUILD_OBJECT
(
'img_root' , product_photo . root ,
'img' , CONCAT ( '/upload/product_photo' , '/' , product_photo . name ),
'img_ext' , product_photo . ext ,
'img_cdn' , product_photo . cdn
)
ELSE NULL
END
)
AS product_root_images , category_info . url AS category_url , category_trans . name AS category_name , JSON_AGG
( DISTINCT
JSONB_BUILD_OBJECT
(
'field_name' , category_section_field . name ,
'field_card' , category_section_field . card ,
'field_photo' , category_section_field . photo ,
'field_type' , category_section_field . type ,
'field_trans' , category_section_field_trans . name ,
'field_value' , product_property . value
)
)
AS category_section_field ,
COALESCE (
NULLIF (MIN (product_modification_price . price ), 0 ),
NULLIF (MIN (product_variation_price . price ), 0 ),
NULLIF (MIN (product_offer_price . price ), 0 ),
NULLIF (MIN (product_price . price ), 0 ),
0
) AS product_price
,
COALESCE (
NULLIF (MIN (product_modification_price . old ), 0 ),
NULLIF (MIN (product_variation_price . old ), 0 ),
NULLIF (MIN (product_offer_price . old ), 0 ),
NULLIF (MIN (product_price . old ), 0 ),
0
) AS product_old_price
,
CASE
WHEN MIN (product_modification_price . price ) IS NOT NULL
THEN product_modification_price . currency
WHEN MIN (product_variation_price . price ) IS NOT NULL
THEN product_variation_price . currency
WHEN MIN (product_offer_price . price ) IS NOT NULL
THEN product_offer_price . currency
WHEN product_price . price IS NOT NULL
THEN product_price . currency
ELSE NULL
END AS product_currency
,
CASE
WHEN SUM (product_modification_quantity . quantity ) - SUM (product_modification_quantity . reserve ) > 0
THEN SUM (product_modification_quantity . quantity ) - SUM (product_modification_quantity . reserve )
WHEN SUM (product_variation_quantity . quantity ) - SUM (product_variation_quantity . reserve ) > 0
THEN SUM (product_variation_quantity . quantity ) - SUM (product_variation_quantity . reserve )
WHEN SUM (product_offer_quantity . quantity ) - SUM (product_offer_quantity . reserve ) > 0
THEN SUM (product_offer_quantity . quantity ) - SUM (product_offer_quantity . reserve )
WHEN SUM (product_price . quantity ) - SUM (product_price . reserve ) > 0
THEN SUM (product_price . quantity ) - SUM (product_price . reserve )
ELSE 0
END AS product_quantity
, project_profile_discount . value AS project_discount FROM product INNER JOIN product_categories_product product_event_category ON product_event_category . event = product . event AND product_event_category . category IN (? ) LEFT JOIN product_trans product_trans ON product_trans . event = product . event AND product_trans . local = ? LEFT JOIN product_description product_desc ON product_desc . event = product . event AND product_desc . device = ? AND product_desc . local = ? LEFT JOIN product_info product_info ON product_info . product = product . id INNER JOIN product_active product_active ON
product_active . event = product . event AND
product_active . active IS TRUE AND
(product_active . active_to IS NULL OR product_active . active_to > NOW ())
LEFT JOIN product_price product_price ON product_price . event = product . event AND product_price . price > 0 LEFT JOIN product_offer product_offer ON product_offer . event = product . event LEFT JOIN product_photo product_photo ON product_photo . event = product . event AND product_photo . root = true INNER JOIN users_profile project_profile ON
project_profile . id = ? LEFT JOIN product_category category ON category . id = product_event_category . category LEFT JOIN product_category_info category_info ON category_info . event = category . event AND category_info . active IS TRUE LEFT JOIN product_category_trans category_trans ON category_trans . event = category . event AND category_trans . local = ? LEFT JOIN product_category_section category_section ON category_section . event = category . event LEFT JOIN product_category_section_field category_section_field ON category_section_field . section = category_section . id AND
(
category_section_field . card = TRUE OR
category_section_field . photo = TRUE OR
category_section_field . name = TRUE
)
LEFT JOIN product_category_section_field_trans category_section_field_trans ON category_section_field_trans . field = category_section_field . id AND category_section_field_trans . local = ? LEFT JOIN product_property product_property ON product_property . event = product . event AND product_property . field = category_section_field . const LEFT JOIN product_category_offers category_offer ON category_offer . id = product_offer . category_offer LEFT JOIN product_offer_price product_offer_price ON product_offer_price . offer = product_offer . id AND product_offer_price . price > 0 LEFT JOIN product_offer_quantity product_offer_quantity ON product_offer_quantity . offer = product_offer . id LEFT JOIN product_variation product_variation ON product_variation . offer = product_offer . id LEFT JOIN product_offer_images product_offer_images ON product_offer_images . offer = product_offer . id AND product_offer_images . root = true LEFT JOIN product_variation_images product_variation_image ON product_variation_image . variation = product_variation . id AND product_variation_image . root = true LEFT JOIN product_category_variation category_variation ON category_variation . id = product_variation . category_variation LEFT JOIN product_modification product_modification ON product_modification . variation = product_variation . id LEFT JOIN product_invariable product_invariable ON
product_invariable . product = product . id
AND
CASE
WHEN product_offer . const IS NOT NULL THEN product_invariable . offer = product_offer . const
ELSE product_invariable . offer IS NULL
END
AND
CASE
WHEN product_variation . const IS NOT NULL THEN product_invariable . variation = product_variation . const
ELSE product_invariable . variation IS NULL
END
AND
CASE
WHEN product_modification . const IS NOT NULL THEN product_invariable . modification = product_modification . const
ELSE product_invariable . modification IS NULL
END
LEFT JOIN product_variation_price product_variation_price ON product_variation_price . variation = product_variation . id AND product_variation_price . price > 0 LEFT JOIN product_variation_quantity product_variation_quantity ON product_variation_quantity . variation = product_variation . id LEFT JOIN product_category_modification category_modification ON category_modification . id = product_modification . category_modification LEFT JOIN product_modification_price product_modification_price ON product_modification_price . modification = product_modification . id AND product_modification_price . price > 0 LEFT JOIN product_modification_quantity product_modification_quantity ON product_modification_quantity . modification = product_modification . id LEFT JOIN product_modification_images product_modification_image ON product_modification_image . modification = product_modification . id AND product_modification_image . root = true LEFT JOIN user_profile_discount project_profile_discount ON
project_profile_discount . event = project_profile . event WHERE
COALESCE (
NULLIF (product_modification_price . price , 0 ),
NULLIF (product_variation_price . price , 0 ),
NULLIF (product_offer_price . price , 0 ),
NULLIF (product_price . price , 0 ),
0
) < > 0 GROUP BY product_price . price , product_price . currency ,
CASE
WHEN category_offer . card IS NOT NULL AND category_offer . card IS TRUE
THEN product_offer . value
END
,
CASE
WHEN category_offer . card IS NOT NULL AND category_offer . card IS TRUE
THEN product_offer . postfix
END
, product_offer_price . currency ,
CASE
WHEN category_variation . card IS NOT NULL AND category_variation . card IS TRUE
THEN product_variation . value
END ,
CASE
WHEN category_variation . card IS NOT NULL AND category_variation . card IS TRUE
THEN product_variation . postfix
END , product_variation_price . currency ,
CASE
WHEN category_modification . card IS NOT NULL AND category_modification . card IS TRUE
THEN product_modification . value
END ,
CASE
WHEN category_modification . card IS NOT NULL AND category_modification . card IS TRUE
THEN product_modification . postfix
END , product_modification_price . currency , product_modification_price . currency , product . id , product . event , product_trans . name , product_info . url , product_info . sort , product_active . active_from , category_offer . card , category_offer . reference , category_variation . card , category_variation . reference , category_modification . card , category_modification . reference , category_info . url , category_trans . name , project_profile_discount . value ORDER BY product_info . sort DESC , SUM (product_modification_quantity . reserve ) DESC , SUM (product_variation_quantity . reserve ) DESC , SUM (product_offer_quantity . reserve ) DESC , SUM (product_price . reserve ) DESC , SUM (product_modification_quantity . quantity ) DESC , SUM (product_variation_quantity . quantity ) DESC , SUM (product_offer_quantity . quantity ) DESC , SUM (product_price . quantity ) DESC LIMIT 24 OFFSET 288
SELECT
product . id AS product_id ,
product . event AS product_event ,
product_trans . name AS product_name ,
product_info . url AS product_url ,
product_info . sort AS product_sort ,
product_active . active_from AS product_active_from ,
category_offer . card AS category_offer_card ,
category_offer . reference AS product_offer_reference ,
CASE WHEN category_offer . card IS NOT NULL
AND category_offer . card IS TRUE THEN
product_offer . value
ELSE
NULL
END AS product_offer_value ,
CASE WHEN category_offer . card IS NOT NULL
AND category_offer . card IS TRUE THEN
product_offer . postfix
ELSE
NULL
END AS product_offer_postfix ,
JSON_AGG (
DISTINCT CASE WHEN product_offer . value IS NOT NULL THEN
JSONB_BUILD_OBJECT (
'offer_id' , product_offer . id , 'offer_value' ,
product_offer . value , 'offer_postfix' ,
product_offer . postfix
)
ELSE
NULL
END
) AS offer_agg ,
category_variation . card AS category_variation_card ,
category_variation . reference as product_variation_reference ,
CASE WHEN category_variation . card IS NOT NULL
AND category_variation . card IS TRUE THEN
product_variation . value
ELSE
NULL
END AS product_variation_value ,
CASE WHEN category_variation . card IS NOT NULL
AND category_variation . card IS TRUE THEN
product_variation . postfix
ELSE
NULL
END AS product_variation_postfix ,
JSON_AGG (
DISTINCT CASE WHEN product_variation . value IS NOT NULL THEN
JSONB_BUILD_OBJECT (
'variation_id' , product_variation . id ,
'variation_value' , product_variation . value ,
'variation_postfix' , product_variation . postfix
)
ELSE
NULL
END
) AS variation_agg ,
category_modification . card AS category_modification_card ,
category_modification . reference as product_modification_reference ,
CASE WHEN category_modification . card IS NOT NULL
AND category_modification . card IS TRUE THEN
product_modification . value
ELSE
NULL
END AS product_modification_value ,
CASE WHEN category_modification . card IS NOT NULL
AND category_modification . card IS TRUE THEN
product_modification . postfix
ELSE
NULL
END AS product_modification_postfix ,
JSON_AGG (
DISTINCT CASE WHEN product_modification . value IS NOT NULL THEN
JSONB_BUILD_OBJECT (
'modification_id' , product_modification . id ,
'modification_value' , product_modification . value ,
'modification_postfix' , product_modification . postfix
)
ELSE
NULL
END
) AS modification_agg ,
JSON_AGG (DISTINCT product_invariable . id ) AS invariable ,
JSON_AGG (
DISTINCT CASE WHEN product_offer_images . ext IS NOT NULL THEN
JSONB_BUILD_OBJECT (
'img_root' ,
product_offer_images . root ,
'img' ,
CONCAT (
'/upload/product_offer_images' ,
'/' , product_offer_images . name
),
'img_ext' ,
product_offer_images . ext ,
'img_cdn' ,
product_offer_images . cdn
)
WHEN product_variation_image . ext IS NOT NULL THEN
JSONB_BUILD_OBJECT (
'img_root' ,
product_variation_image . root ,
'img' ,
CONCAT (
'/upload/product_variation_images' ,
'/' , product_variation_image . name
),
'img_ext' ,
product_variation_image . ext ,
'img_cdn' ,
product_variation_image . cdn
)
WHEN product_modification_image . ext IS NOT NULL THEN
JSONB_BUILD_OBJECT (
'img_root' ,
product_modification_image . root ,
'img' ,
CONCAT (
'/upload/product_modification_images' ,
'/' , product_modification_image . name
),
'img_ext' ,
product_modification_image . ext ,
'img_cdn' ,
product_modification_image . cdn
)
WHEN product_photo . ext IS NOT NULL THEN
JSONB_BUILD_OBJECT (
'img_root' ,
product_photo . root ,
'img' ,
CONCAT (
'/upload/product_photo' , '/' , product_photo . name
),
'img_ext' ,
product_photo . ext ,
'img_cdn' ,
product_photo . cdn
)
ELSE
NULL
END
) AS product_root_images ,
category_info . url AS category_url ,
category_trans . name AS category_name ,
JSON_AGG (
DISTINCT JSONB_BUILD_OBJECT (
'field_name' , category_section_field . name ,
'field_card' , category_section_field . card ,
'field_photo' , category_section_field . photo ,
'field_type' , category_section_field . type ,
'field_trans' , category_section_field_trans . name ,
'field_value' , product_property . value
)
) AS category_section_field ,
COALESCE (
NULLIF (
MIN (
product_modification_price . price
),
0
),
NULLIF (
MIN (product_variation_price . price ),
0
),
NULLIF (
MIN (product_offer_price . price ),
0
),
NULLIF (
MIN (product_price . price ),
0
),
0
) AS product_price ,
COALESCE (
NULLIF (
MIN (product_modification_price . old ),
0
),
NULLIF (
MIN (product_variation_price . old ),
0
),
NULLIF (
MIN (product_offer_price . old ),
0
),
NULLIF (
MIN (product_price . old ),
0
),
0
) AS product_old_price ,
CASE WHEN MIN (
product_modification_price . price
) IS NOT NULL THEN
product_modification_price . currency
WHEN MIN (product_variation_price . price ) IS NOT NULL THEN
product_variation_price . currency
WHEN MIN (product_offer_price . price ) IS NOT NULL THEN
product_offer_price . currency
WHEN product_price . price IS NOT NULL THEN
product_price . currency
ELSE
NULL
END AS product_currency ,
CASE WHEN SUM (
product_modification_quantity . quantity
) - SUM (
product_modification_quantity . reserve
) > 0 THEN
SUM (
product_modification_quantity . quantity
) - SUM (
product_modification_quantity . reserve
)
WHEN SUM (
product_variation_quantity . quantity
) - SUM (
product_variation_quantity . reserve
) > 0 THEN
SUM (
product_variation_quantity . quantity
) - SUM (
product_variation_quantity . reserve
)
WHEN SUM (
product_offer_quantity . quantity
) - SUM (product_offer_quantity . reserve ) > 0 THEN
SUM (
product_offer_quantity . quantity
) - SUM (product_offer_quantity . reserve )
WHEN SUM (product_price . quantity ) - SUM (product_price . reserve ) > 0 THEN
SUM (product_price . quantity ) - SUM (product_price . reserve )
ELSE
0
END AS product_quantity ,
project_profile_discount . value AS project_discount
FROM
product
INNER JOIN product_categories_product product_event_category ON product_event_category . event = product . event
AND product_event_category . category IN (? )
LEFT JOIN product_trans product_trans ON product_trans . event = product . event
AND product_trans . local = ?
LEFT JOIN product_description product_desc ON product_desc . event = product . event
AND product_desc . device = ?
AND product_desc . local = ?
LEFT JOIN product_info product_info ON product_info . product = product . id
INNER JOIN product_active product_active ON product_active . event = product . event
AND product_active . active IS TRUE
AND (
product_active . active_to IS NULL
OR product_active . active_to > NOW ()
)
LEFT JOIN product_price product_price ON product_price . event = product . event
AND product_price . price > 0
LEFT JOIN product_offer product_offer ON product_offer . event = product . event
LEFT JOIN product_photo product_photo ON product_photo . event = product . event
AND product_photo . root = true
INNER JOIN users_profile project_profile ON project_profile . id = ?
LEFT JOIN product_category category ON category . id = product_event_category . category
LEFT JOIN product_category_info category_info ON category_info . event = category . event
AND category_info . active IS TRUE
LEFT JOIN product_category_trans category_trans ON category_trans . event = category . event
AND category_trans . local = ?
LEFT JOIN product_category_section category_section ON category_section . event = category . event
LEFT JOIN product_category_section_field category_section_field ON category_section_field . section = category_section . id
AND (
category_section_field . card = TRUE
OR category_section_field . photo = TRUE
OR category_section_field . name = TRUE
)
LEFT JOIN product_category_section_field_trans category_section_field_trans ON category_section_field_trans . field = category_section_field . id
AND category_section_field_trans . local = ?
LEFT JOIN product_property product_property ON product_property . event = product . event
AND product_property . field = category_section_field . const
LEFT JOIN product_category_offers category_offer ON category_offer . id = product_offer . category_offer
LEFT JOIN product_offer_price product_offer_price ON product_offer_price . offer = product_offer . id
AND product_offer_price . price > 0
LEFT JOIN product_offer_quantity product_offer_quantity ON product_offer_quantity . offer = product_offer . id
LEFT JOIN product_variation product_variation ON product_variation . offer = product_offer . id
LEFT JOIN product_offer_images product_offer_images ON product_offer_images . offer = product_offer . id
AND product_offer_images . root = true
LEFT JOIN product_variation_images product_variation_image ON product_variation_image . variation = product_variation . id
AND product_variation_image . root = true
LEFT JOIN product_category_variation category_variation ON category_variation . id = product_variation . category_variation
LEFT JOIN product_modification product_modification ON product_modification . variation = product_variation . id
LEFT JOIN product_invariable product_invariable ON product_invariable . product = product . id
AND CASE WHEN product_offer . const IS NOT NULL THEN
product_invariable . offer = product_offer . const
ELSE
product_invariable . offer IS NULL
END
AND CASE WHEN product_variation . const IS NOT NULL THEN
product_invariable . variation = product_variation . const
ELSE
product_invariable . variation IS NULL
END
AND CASE WHEN product_modification . const IS NOT NULL THEN
product_invariable . modification = product_modification . const
ELSE
product_invariable . modification IS NULL
END
LEFT JOIN product_variation_price product_variation_price ON product_variation_price . variation = product_variation . id
AND product_variation_price . price > 0
LEFT JOIN product_variation_quantity product_variation_quantity ON product_variation_quantity . variation = product_variation . id
LEFT JOIN product_category_modification category_modification ON category_modification . id = product_modification . category_modification
LEFT JOIN product_modification_price product_modification_price ON product_modification_price . modification = product_modification . id
AND product_modification_price . price > 0
LEFT JOIN product_modification_quantity product_modification_quantity ON product_modification_quantity . modification = product_modification . id
LEFT JOIN product_modification_images product_modification_image ON product_modification_image . modification = product_modification . id
AND product_modification_image . root = true
LEFT JOIN user_profile_discount project_profile_discount ON project_profile_discount . event = project_profile . event
WHERE
COALESCE (
NULLIF (
product_modification_price . price ,
0
),
NULLIF (
product_variation_price . price , 0
),
NULLIF (product_offer_price . price , 0 ),
NULLIF (product_price . price , 0 ),
0
) < > 0
GROUP BY
product_price . price ,
product_price . currency ,
CASE WHEN category_offer . card IS NOT NULL
AND category_offer . card IS TRUE THEN
product_offer . value
END ,
CASE WHEN category_offer . card IS NOT NULL
AND category_offer . card IS TRUE THEN
product_offer . postfix
END ,
product_offer_price . currency ,
CASE WHEN category_variation . card IS NOT NULL
AND category_variation . card IS TRUE THEN
product_variation . value
END ,
CASE WHEN category_variation . card IS NOT NULL
AND category_variation . card IS TRUE THEN
product_variation . postfix
END ,
product_variation_price . currency ,
CASE WHEN category_modification . card IS NOT NULL
AND category_modification . card IS TRUE THEN
product_modification . value
END ,
CASE WHEN category_modification . card IS NOT NULL
AND category_modification . card IS TRUE THEN
product_modification . postfix
END ,
product_modification_price . currency ,
product_modification_price . currency ,
product . id ,
product . event ,
product_trans . name ,
product_info . url ,
product_info . sort ,
product_active . active_from ,
category_offer . card ,
category_offer . reference ,
category_variation . card ,
category_variation . reference ,
category_modification . card ,
category_modification . reference ,
category_info . url ,
category_trans . name ,
project_profile_discount . value
ORDER BY
product_info . sort DESC ,
SUM (
product_modification_quantity . reserve
) DESC ,
SUM (
product_variation_quantity . reserve
) DESC ,
SUM (product_offer_quantity . reserve ) DESC ,
SUM (product_price . reserve ) DESC ,
SUM (
product_modification_quantity . quantity
) DESC ,
SUM (
product_variation_quantity . quantity
) DESC ,
SUM (
product_offer_quantity . quantity
) DESC ,
SUM (product_price . quantity ) DESC
LIMIT
24
OFFSET
288
Copy
SELECT product . id AS product_id , product . event AS product_event , product_trans . name AS product_name , product_info . url AS product_url , product_info . sort AS product_sort , product_active . active_from AS product_active_from , category_offer . card AS category_offer_card , category_offer . reference AS product_offer_reference ,
CASE
WHEN category_offer . card IS NOT NULL AND category_offer . card IS TRUE
THEN product_offer . value
ELSE NULL
END AS product_offer_value
,
CASE
WHEN category_offer . card IS NOT NULL AND category_offer . card IS TRUE
THEN product_offer . postfix
ELSE NULL
END AS product_offer_postfix
,
JSON_AGG ( DISTINCT
CASE
WHEN product_offer . value IS NOT NULL THEN
JSONB_BUILD_OBJECT (
'offer_id' , product_offer . id ,
'offer_value' , product_offer . value ,
'offer_postfix' , product_offer . postfix
)
ELSE NULL
END
) AS offer_agg , category_variation . card AS category_variation_card , category_variation . reference as product_variation_reference ,
CASE
WHEN category_variation . card IS NOT NULL AND category_variation . card IS TRUE
THEN product_variation . value
ELSE NULL
END AS product_variation_value ,
CASE
WHEN category_variation . card IS NOT NULL AND category_variation . card IS TRUE
THEN product_variation . postfix
ELSE NULL
END
AS product_variation_postfix
,
JSON_AGG ( DISTINCT
CASE
WHEN product_variation . value IS NOT NULL THEN
JSONB_BUILD_OBJECT (
'variation_id' , product_variation . id ,
'variation_value' , product_variation . value ,
'variation_postfix' , product_variation . postfix
)
ELSE NULL
END
) AS variation_agg , category_modification . card AS category_modification_card , category_modification . reference as product_modification_reference ,
CASE
WHEN category_modification . card IS NOT NULL AND category_modification . card IS TRUE
THEN product_modification . value
ELSE NULL
END
AS product_modification_value
,
CASE
WHEN category_modification . card IS NOT NULL AND category_modification . card IS TRUE
THEN product_modification . postfix
ELSE NULL
END
AS product_modification_postfix
,
JSON_AGG ( DISTINCT
CASE
WHEN product_modification . value IS NOT NULL THEN
JSONB_BUILD_OBJECT (
'modification_id' , product_modification . id ,
'modification_value' , product_modification . value ,
'modification_postfix' , product_modification . postfix
)
ELSE NULL
END
) AS modification_agg , JSON_AGG ( DISTINCT product_invariable . id ) AS invariable ,
JSON_AGG
(DISTINCT
CASE
WHEN product_offer_images . ext IS NOT NULL
THEN JSONB_BUILD_OBJECT
(
'img_root' , product_offer_images . root ,
'img' , CONCAT ( '/upload/product_offer_images' , '/' , product_offer_images . name ),
'img_ext' , product_offer_images . ext ,
'img_cdn' , product_offer_images . cdn
)
WHEN product_variation_image . ext IS NOT NULL
THEN JSONB_BUILD_OBJECT
(
'img_root' , product_variation_image . root ,
'img' , CONCAT ( '/upload/product_variation_images' , '/' , product_variation_image . name ),
'img_ext' , product_variation_image . ext ,
'img_cdn' , product_variation_image . cdn
)
WHEN product_modification_image . ext IS NOT NULL
THEN JSONB_BUILD_OBJECT
(
'img_root' , product_modification_image . root ,
'img' , CONCAT ( '/upload/product_modification_images' , '/' , product_modification_image . name ),
'img_ext' , product_modification_image . ext ,
'img_cdn' , product_modification_image . cdn
)
WHEN product_photo . ext IS NOT NULL
THEN JSONB_BUILD_OBJECT
(
'img_root' , product_photo . root ,
'img' , CONCAT ( '/upload/product_photo' , '/' , product_photo . name ),
'img_ext' , product_photo . ext ,
'img_cdn' , product_photo . cdn
)
ELSE NULL
END
)
AS product_root_images , category_info . url AS category_url , category_trans . name AS category_name , JSON_AGG
( DISTINCT
JSONB_BUILD_OBJECT
(
'field_name' , category_section_field . name ,
'field_card' , category_section_field . card ,
'field_photo' , category_section_field . photo ,
'field_type' , category_section_field . type ,
'field_trans' , category_section_field_trans . name ,
'field_value' , product_property . value
)
)
AS category_section_field ,
COALESCE (
NULLIF (MIN (product_modification_price . price ), 0 ),
NULLIF (MIN (product_variation_price . price ), 0 ),
NULLIF (MIN (product_offer_price . price ), 0 ),
NULLIF (MIN (product_price . price ), 0 ),
0
) AS product_price
,
COALESCE (
NULLIF (MIN (product_modification_price . old ), 0 ),
NULLIF (MIN (product_variation_price . old ), 0 ),
NULLIF (MIN (product_offer_price . old ), 0 ),
NULLIF (MIN (product_price . old ), 0 ),
0
) AS product_old_price
,
CASE
WHEN MIN (product_modification_price . price ) IS NOT NULL
THEN product_modification_price . currency
WHEN MIN (product_variation_price . price ) IS NOT NULL
THEN product_variation_price . currency
WHEN MIN (product_offer_price . price ) IS NOT NULL
THEN product_offer_price . currency
WHEN product_price . price IS NOT NULL
THEN product_price . currency
ELSE NULL
END AS product_currency
,
CASE
WHEN SUM (product_modification_quantity . quantity ) - SUM (product_modification_quantity . reserve ) > 0
THEN SUM (product_modification_quantity . quantity ) - SUM (product_modification_quantity . reserve )
WHEN SUM (product_variation_quantity . quantity ) - SUM (product_variation_quantity . reserve ) > 0
THEN SUM (product_variation_quantity . quantity ) - SUM (product_variation_quantity . reserve )
WHEN SUM (product_offer_quantity . quantity ) - SUM (product_offer_quantity . reserve ) > 0
THEN SUM (product_offer_quantity . quantity ) - SUM (product_offer_quantity . reserve )
WHEN SUM (product_price . quantity ) - SUM (product_price . reserve ) > 0
THEN SUM (product_price . quantity ) - SUM (product_price . reserve )
ELSE 0
END AS product_quantity
, project_profile_discount . value AS project_discount FROM product INNER JOIN product_categories_product product_event_category ON product_event_category . event = product . event AND product_event_category . category IN ('01876af0-ddfc-70c3-ab25-5f85f55a9907' ) LEFT JOIN product_trans product_trans ON product_trans . event = product . event AND product_trans . local = 'ru' LEFT JOIN product_description product_desc ON product_desc . event = product . event AND product_desc . device = 'pc' AND product_desc . local = 'ru' LEFT JOIN product_info product_info ON product_info . product = product . id INNER JOIN product_active product_active ON
product_active . event = product . event AND
product_active . active IS TRUE AND
(product_active . active_to IS NULL OR product_active . active_to > NOW ())
LEFT JOIN product_price product_price ON product_price . event = product . event AND product_price . price > 0 LEFT JOIN product_offer product_offer ON product_offer . event = product . event LEFT JOIN product_photo product_photo ON product_photo . event = product . event AND product_photo . root = true INNER JOIN users_profile project_profile ON
project_profile . id = '019469c3-700f-76a9-9b34-ccde7b4e6f49' LEFT JOIN product_category category ON category . id = product_event_category . category LEFT JOIN product_category_info category_info ON category_info . event = category . event AND category_info . active IS TRUE LEFT JOIN product_category_trans category_trans ON category_trans . event = category . event AND category_trans . local = 'ru' LEFT JOIN product_category_section category_section ON category_section . event = category . event LEFT JOIN product_category_section_field category_section_field ON category_section_field . section = category_section . id AND
(
category_section_field . card = TRUE OR
category_section_field . photo = TRUE OR
category_section_field . name = TRUE
)
LEFT JOIN product_category_section_field_trans category_section_field_trans ON category_section_field_trans . field = category_section_field . id AND category_section_field_trans . local = 'ru' LEFT JOIN product_property product_property ON product_property . event = product . event AND product_property . field = category_section_field . const LEFT JOIN product_category_offers category_offer ON category_offer . id = product_offer . category_offer LEFT JOIN product_offer_price product_offer_price ON product_offer_price . offer = product_offer . id AND product_offer_price . price > 0 LEFT JOIN product_offer_quantity product_offer_quantity ON product_offer_quantity . offer = product_offer . id LEFT JOIN product_variation product_variation ON product_variation . offer = product_offer . id LEFT JOIN product_offer_images product_offer_images ON product_offer_images . offer = product_offer . id AND product_offer_images . root = true LEFT JOIN product_variation_images product_variation_image ON product_variation_image . variation = product_variation . id AND product_variation_image . root = true LEFT JOIN product_category_variation category_variation ON category_variation . id = product_variation . category_variation LEFT JOIN product_modification product_modification ON product_modification . variation = product_variation . id LEFT JOIN product_invariable product_invariable ON
product_invariable . product = product . id
AND
CASE
WHEN product_offer . const IS NOT NULL THEN product_invariable . offer = product_offer . const
ELSE product_invariable . offer IS NULL
END
AND
CASE
WHEN product_variation . const IS NOT NULL THEN product_invariable . variation = product_variation . const
ELSE product_invariable . variation IS NULL
END
AND
CASE
WHEN product_modification . const IS NOT NULL THEN product_invariable . modification = product_modification . const
ELSE product_invariable . modification IS NULL
END
LEFT JOIN product_variation_price product_variation_price ON product_variation_price . variation = product_variation . id AND product_variation_price . price > 0 LEFT JOIN product_variation_quantity product_variation_quantity ON product_variation_quantity . variation = product_variation . id LEFT JOIN product_category_modification category_modification ON category_modification . id = product_modification . category_modification LEFT JOIN product_modification_price product_modification_price ON product_modification_price . modification = product_modification . id AND product_modification_price . price > 0 LEFT JOIN product_modification_quantity product_modification_quantity ON product_modification_quantity . modification = product_modification . id LEFT JOIN product_modification_images product_modification_image ON product_modification_image . modification = product_modification . id AND product_modification_image . root = true LEFT JOIN user_profile_discount project_profile_discount ON
project_profile_discount . event = project_profile . event WHERE
COALESCE (
NULLIF (product_modification_price . price , 0 ),
NULLIF (product_variation_price . price , 0 ),
NULLIF (product_offer_price . price , 0 ),
NULLIF (product_price . price , 0 ),
0
) < > 0 GROUP BY product_price . price , product_price . currency ,
CASE
WHEN category_offer . card IS NOT NULL AND category_offer . card IS TRUE
THEN product_offer . value
END
,
CASE
WHEN category_offer . card IS NOT NULL AND category_offer . card IS TRUE
THEN product_offer . postfix
END
, product_offer_price . currency ,
CASE
WHEN category_variation . card IS NOT NULL AND category_variation . card IS TRUE
THEN product_variation . value
END ,
CASE
WHEN category_variation . card IS NOT NULL AND category_variation . card IS TRUE
THEN product_variation . postfix
END , product_variation_price . currency ,
CASE
WHEN category_modification . card IS NOT NULL AND category_modification . card IS TRUE
THEN product_modification . value
END ,
CASE
WHEN category_modification . card IS NOT NULL AND category_modification . card IS TRUE
THEN product_modification . postfix
END , product_modification_price . currency , product_modification_price . currency , product . id , product . event , product_trans . name , product_info . url , product_info . sort , product_active . active_from , category_offer . card , category_offer . reference , category_variation . card , category_variation . reference , category_modification . card , category_modification . reference , category_info . url , category_trans . name , project_profile_discount . value ORDER BY product_info . sort DESC , SUM (product_modification_quantity . reserve ) DESC , SUM (product_variation_quantity . reserve ) DESC , SUM (product_offer_quantity . reserve ) DESC , SUM (product_price . reserve ) DESC , SUM (product_modification_quantity . quantity ) DESC , SUM (product_variation_quantity . quantity ) DESC , SUM (product_offer_quantity . quantity ) DESC , SUM (product_price . quantity ) DESC LIMIT 24 OFFSET 288 ;
Copy
8
0.42 ms
"START TRANSACTION"
"START TRANSACTION" ;
Copy
9
4.77 ms
INSERT INTO messenger_core (body , headers , queue_name , created_at , available_at ) VALUES (? , ? , ? , ? , ? ) RETURNING id
Parameters :
[
"""
O:36:\"Symfony\\Component\\Messenger\\Envelope\":2:{s:44:\"\0Symfony\\Component\\Messenger\\Envelope\0stamps\";a:3:{s:44:\"Symfony\\Component\\Messenger\\Stamp\\DelayStamp\";a:1:{i:0;O:44:\"Symfony\\Component\\Messenger\\Stamp\\DelayStamp\":1:{s:51:\"\0Symfony\\Component\\Messenger\\Stamp\\DelayStamp\0delay\";i:8106;}}s:53:\"Symfony\\Component\\Messenger\\Stamp\\TransportNamesStamp\";a:1:{i:0;O:53:\"Symfony\\Component\\Messenger\\Stamp\\TransportNamesStamp\":1:{s:69:\"\0Symfony\\Component\\Messenger\\Stamp\\TransportNamesStamp\0transportNames\";a:1:{i:0;s:9:\"async-low\";}}}s:46:\"Symfony\\Component\\Messenger\\Stamp\\BusNameStamp\";a:1:{i:0;O:46:\"Symfony\\Component\\Messenger\\Stamp\\BusNameStamp\":1:{s:55:\"\0Symfony\\Component\\Messenger\\Stamp\\BusNameStamp\0busName\";s:21:\"messenger.bus.default\";}}}s:45:\"\0Symfony\\Component\\Messenger\\Envelope\0message\";O:49:\"BaksDev\\Core\\Doctrine\\DBAL\\Delay\\DBALDelayMessage\":5:{s:60:\"\0BaksDev\\Core\\Doctrine\\DBAL\\Delay\\DBALDelayMessage\0namespace\";s:16:\"products-product\";s:54:\"\0BaksDev\\Core\\Doctrine\\DBAL\\Delay\\DBALDelayMessage\0key\";s:40:\"a0712aaf8720c9b0882a0786da44281dd36f004f\";s:54:\"\0BaksDev\\Core\\Doctrine\\DBAL\\Delay\\DBALDelayMessage\0sql\";s:5737:\"SELECT COUNT(*) FROM product INNER JOIN product_categories_product product_event_category ON product_event_category.event = product.event AND product_event_category.category IN (:category) LEFT JOIN product_trans product_trans ON product_trans.event = product.event AND product_trans.local = :local LEFT JOIN product_description product_desc ON product_desc.event = product.event AND product_desc.device = :device AND product_desc.local = :local LEFT JOIN product_info product_info ON product_info.product = product.id INNER JOIN product_active product_active ON \n
product_active.event = product.event AND \n
product_active.active IS TRUE AND\n
(product_active.active_to IS NULL OR product_active.active_to > NOW())\n
LEFT JOIN product_price product_price ON product_price.event = product.event AND product_price.price > 0 LEFT JOIN product_offer product_offer ON product_offer.event = product.event LEFT JOIN product_photo product_photo ON product_photo.event = product.event AND product_photo.root = true INNER JOIN users_profile project_profile ON \n
project_profile.id = :project_profile LEFT JOIN product_category category ON category.id = product_event_category.category LEFT JOIN product_category_info category_info ON category_info.event = category.event AND category_info.active IS TRUE LEFT JOIN product_category_trans category_trans ON category_trans.event = category.event AND category_trans.local = :local LEFT JOIN product_category_section category_section ON category_section.event = category.event LEFT JOIN product_category_section_field category_section_field ON category_section_field.section = category_section.id AND\n
(\n
category_section_field.card = TRUE OR\n
category_section_field.photo = TRUE OR\n
category_section_field.name = TRUE\n
)\n
LEFT JOIN product_category_section_field_trans category_section_field_trans ON category_section_field_trans.field = category_section_field.id AND category_section_field_trans.local = :local LEFT JOIN product_property product_property ON product_property.event = product.event AND product_property.field = category_section_field.const LEFT JOIN product_category_offers category_offer ON category_offer.id = product_offer.category_offer LEFT JOIN product_offer_price product_offer_price ON product_offer_price.offer = product_offer.id AND product_offer_price.price > 0 LEFT JOIN product_offer_quantity product_offer_quantity ON product_offer_quantity.offer = product_offer.id LEFT JOIN product_variation product_variation ON product_variation.offer = product_offer.id LEFT JOIN product_offer_images product_offer_images ON product_offer_images.offer = product_offer.id AND product_offer_images.root = true LEFT JOIN product_variation_images product_variation_image ON product_variation_image.variation = product_variation.id AND product_variation_image.root = true LEFT JOIN product_category_variation category_variation ON category_variation.id = product_variation.category_variation LEFT JOIN product_modification product_modification ON product_modification.variation = product_variation.id LEFT JOIN product_invariable product_invariable ON \n
product_invariable.product = product.id\n
AND\n
CASE \n
WHEN product_offer.const IS NOT NULL THEN product_invariable.offer = product_offer.const\n
ELSE product_invariable.offer IS NULL\n
END\n
AND \n
CASE\n
WHEN product_variation.const IS NOT NULL THEN product_invariable.variation = product_variation.const\n
ELSE product_invariable.variation IS NULL\n
END\n
AND\n
CASE\n
WHEN product_modification.const IS NOT NULL THEN product_invariable.modification = product_modification.const\n
ELSE product_invariable.modification IS NULL\n
END\n
LEFT JOIN product_variation_price product_variation_price ON product_variation_price.variation = product_variation.id AND product_variation_price.price > 0 LEFT JOIN product_variation_quantity product_variation_quantity ON product_variation_quantity.variation = product_variation.id LEFT JOIN product_category_modification category_modification ON category_modification.id = product_modification.category_modification LEFT JOIN product_modification_price product_modification_price ON product_modification_price.modification = product_modification.id AND product_modification_price.price > 0 LEFT JOIN product_modification_quantity product_modification_quantity ON product_modification_quantity.modification = product_modification.id LEFT JOIN product_modification_images product_modification_image ON product_modification_image.modification = product_modification.id AND product_modification_image.root = true LEFT JOIN user_profile_discount project_profile_discount ON \n
project_profile_discount.event = project_profile.event WHERE \n
COALESCE(\n
NULLIF(product_modification_price.price, 0),\n
NULLIF(product_variation_price.price, 0),\n
NULLIF(product_offer_price.price, 0),\n
NULLIF(product_price.price, 0),\n
0\n
) <> 0\";s:57:\"\0BaksDev\\Core\\Doctrine\\DBAL\\Delay\\DBALDelayMessage\0params\";a:4:{s:5:\"local\";O:31:\"BaksDev\\Core\\Type\\Locale\\Locale\":1:{s:39:\"\0BaksDev\\Core\\Type\\Locale\\Locale\0locale\";O:35:\"BaksDev\\Core\\Type\\Locale\\Locales\\Ru\":0:{}}s:8:\"category\";a:1:{i:0;O:52:\"BaksDev\\Products\\Category\\Type\\Id\\CategoryProductUid\":4:{s:36:\"\0BaksDev\\Core\\Type\\UidType\\Uid\0value\";O:26:\"Symfony\\Component\\Uid\\Uuid\":1:{s:6:\"\0*\0uid\";s:36:\"01876af0-ddfc-70c3-ab25-5f85f55a9907\";}s:61:\"\0BaksDev\\Products\\Category\\Type\\Id\\CategoryProductUid\0options\";N;s:58:\"\0BaksDev\\Products\\Category\\Type\\Id\\CategoryProductUid\0attr\";N;s:60:\"\0BaksDev\\Products\\Category\\Type\\Id\\CategoryProductUid\0params\";N;}}s:6:\"device\";s:2:\"pc\";s:15:\"project_profile\";O:56:\"BaksDev\\Users\\Profile\\UserProfile\\Type\\Id\\UserProfileUid\":7:{s:36:\"\0BaksDev\\Core\\Type\\UidType\\Uid\0value\";O:26:\"Symfony\\Component\\Uid\\Uuid\":1:{s:6:\"\0*\0uid\";s:36:\"019469c3-700f-76a9-9b34-ccde7b4e6f49\";}s:62:\"\0BaksDev\\Users\\Profile\\UserProfile\\Type\\Id\\UserProfileUid\0attr\";N;s:64:\"\0BaksDev\\Users\\Profile\\UserProfile\\Type\\Id\\UserProfileUid\0option\";N;s:66:\"\0BaksDev\\Users\\Profile\\UserProfile\\Type\\Id\\UserProfileUid\0property\";N;s:72:\"\0BaksDev\\Users\\Profile\\UserProfile\\Type\\Id\\UserProfileUid\0characteristic\";N;s:64:\"\0BaksDev\\Users\\Profile\\UserProfile\\Type\\Id\\UserProfileUid\0params\";N;s:64:\"\0BaksDev\\Users\\Profile\\UserProfile\\Type\\Id\\UserProfileUid\0decode\";N;}}s:56:\"\0BaksDev\\Core\\Doctrine\\DBAL\\Delay\\DBALDelayMessage\0types\";a:4:{s:5:\"local\";s:6:\"locale\";s:8:\"category\";E:39:\"Doctrine\\DBAL\\ArrayParameterType:STRING\";s:6:\"device\";E:34:\"Doctrine\\DBAL\\ParameterType:STRING\";s:15:\"project_profile\";s:12:\"user_profile\";}}}
"""
"[] "
"low "
"2026-02-13 19:36:39 "
"2026-02-13 19:36:47 "
]
INSERT INTO messenger_core (body , headers , queue_name , created_at , available_at ) VALUES ('O:36:\\\"Symfony\\\\Component\\\\Messenger\\\\Envelope\\\":2:{s:44:\\\"\\0Symfony\\\\Component\\\\Messenger\\\\Envelope\\0stamps\\\";a:3:{s:44:\\\"Symfony\\\\Component\\\\Messenger\\\\Stamp\\\\DelayStamp\\\";a:1:{i:0;O:44:\\\"Symfony\\\\Component\\\\Messenger\\\\Stamp\\\\DelayStamp\\\":1:{s:51:\\\"\\0Symfony\\\\Component\\\\Messenger\\\\Stamp\\\\DelayStamp\\0delay\\\";i:8106;}}s:53:\\\"Symfony\\\\Component\\\\Messenger\\\\Stamp\\\\TransportNamesStamp\\\";a:1:{i:0;O:53:\\\"Symfony\\\\Component\\\\Messenger\\\\Stamp\\\\TransportNamesStamp\\\":1:{s:69:\\\"\\0Symfony\\\\Component\\\\Messenger\\\\Stamp\\\\TransportNamesStamp\\0transportNames\\\";a:1:{i:0;s:9:\\\"async-low\\\";}}}s:46:\\\"Symfony\\\\Component\\\\Messenger\\\\Stamp\\\\BusNameStamp\\\";a:1:{i:0;O:46:\\\"Symfony\\\\Component\\\\Messenger\\\\Stamp\\\\BusNameStamp\\\":1:{s:55:\\\"\\0Symfony\\\\Component\\\\Messenger\\\\Stamp\\\\BusNameStamp\\0busName\\\";s:21:\\\"messenger.bus.default\\\";}}}s:45:\\\"\\0Symfony\\\\Component\\\\Messenger\\\\Envelope\\0message\\\";O:49:\\\"BaksDev\\\\Core\\\\Doctrine\\\\DBAL\\\\Delay\\\\DBALDelayMessage\\\":5:{s:60:\\\"\\0BaksDev\\\\Core\\\\Doctrine\\\\DBAL\\\\Delay\\\\DBALDelayMessage\\0namespace\\\";s:16:\\\"products-product\\\";s:54:\\\"\\0BaksDev\\\\Core\\\\Doctrine\\\\DBAL\\\\Delay\\\\DBALDelayMessage\\0key\\\";s:40:\\\"a0712aaf8720c9b0882a0786da44281dd36f004f\\\";s:54:\\\"\\0BaksDev\\\\Core\\\\Doctrine\\\\DBAL\\\\Delay\\\\DBALDelayMessage\\0sql\\\";s:5737:\\\"SELECT COUNT(*) FROM product INNER JOIN product_categories_product product_event_category ON product_event_category.event = product.event AND product_event_category.category IN (:category) LEFT JOIN product_trans product_trans ON product_trans.event = product.event AND product_trans.local = :local LEFT JOIN product_description product_desc ON product_desc.event = product.event AND product_desc.device = :device AND product_desc.local = :local LEFT JOIN product_info product_info ON product_info.product = product.id INNER JOIN product_active product_active ON
product_active.event = product.event AND
product_active.active IS TRUE AND
(product_active.active_to IS NULL OR product_active.active_to > NOW())
LEFT JOIN product_price product_price ON product_price.event = product.event AND product_price.price > 0 LEFT JOIN product_offer product_offer ON product_offer.event = product.event LEFT JOIN product_photo product_photo ON product_photo.event = product.event AND product_photo.root = true INNER JOIN users_profile project_profile ON
project_profile.id = :project_profile LEFT JOIN product_category category ON category.id = product_event_category.category LEFT JOIN product_category_info category_info ON category_info.event = category.event AND category_info.active IS TRUE LEFT JOIN product_category_trans category_trans ON category_trans.event = category.event AND category_trans.local = :local LEFT JOIN product_category_section category_section ON category_section.event = category.event LEFT JOIN product_category_section_field category_section_field ON category_section_field.section = category_section.id AND
(
category_section_field.card = TRUE OR
category_section_field.photo = TRUE OR
category_section_field.name = TRUE
)
LEFT JOIN product_category_section_field_trans category_section_field_trans ON category_section_field_trans.field = category_section_field.id AND category_section_field_trans.local = :local LEFT JOIN product_property product_property ON product_property.event = product.event AND product_property.field = category_section_field.const LEFT JOIN product_category_offers category_offer ON category_offer.id = product_offer.category_offer LEFT JOIN product_offer_price product_offer_price ON product_offer_price.offer = product_offer.id AND product_offer_price.price > 0 LEFT JOIN product_offer_quantity product_offer_quantity ON product_offer_quantity.offer = product_offer.id LEFT JOIN product_variation product_variation ON product_variation.offer = product_offer.id LEFT JOIN product_offer_images product_offer_images ON product_offer_images.offer = product_offer.id AND product_offer_images.root = true LEFT JOIN product_variation_images product_variation_image ON product_variation_image.variation = product_variation.id AND product_variation_image.root = true LEFT JOIN product_category_variation category_variation ON category_variation.id = product_variation.category_variation LEFT JOIN product_modification product_modification ON product_modification.variation = product_variation.id LEFT JOIN product_invariable product_invariable ON
product_invariable.product = product.id
AND
CASE
WHEN product_offer.const IS NOT NULL THEN product_invariable.offer = product_offer.const
ELSE product_invariable.offer IS NULL
END
AND
CASE
WHEN product_variation.const IS NOT NULL THEN product_invariable.variation = product_variation.const
ELSE product_invariable.variation IS NULL
END
AND
CASE
WHEN product_modification.const IS NOT NULL THEN product_invariable.modification = product_modification.const
ELSE product_invariable.modification IS NULL
END
LEFT JOIN product_variation_price product_variation_price ON product_variation_price.variation = product_variation.id AND product_variation_price.price > 0 LEFT JOIN product_variation_quantity product_variation_quantity ON product_variation_quantity.variation = product_variation.id LEFT JOIN product_category_modification category_modification ON category_modification.id = product_modification.category_modification LEFT JOIN product_modification_price product_modification_price ON product_modification_price.modification = product_modification.id AND product_modification_price.price > 0 LEFT JOIN product_modification_quantity product_modification_quantity ON product_modification_quantity.modification = product_modification.id LEFT JOIN product_modification_images product_modification_image ON product_modification_image.modification = product_modification.id AND product_modification_image.root = true LEFT JOIN user_profile_discount project_profile_discount ON
project_profile_discount.event = project_profile.event WHERE
COALESCE(
NULLIF(product_modification_price.price, 0),
NULLIF(product_variation_price.price, 0),
NULLIF(product_offer_price.price, 0),
NULLIF(product_price.price, 0),
0
) <> 0\\\";s:57:\\\"\\0BaksDev\\\\Core\\\\Doctrine\\\\DBAL\\\\Delay\\\\DBALDelayMessage\\0params\\\";a:4:{s:5:\\\"local\\\";O:31:\\\"BaksDev\\\\Core\\\\Type\\\\Locale\\\\Locale\\\":1:{s:39:\\\"\\0BaksDev\\\\Core\\\\Type\\\\Locale\\\\Locale\\0locale\\\";O:35:\\\"BaksDev\\\\Core\\\\Type\\\\Locale\\\\Locales\\\\Ru\\\":0:{}}s:8:\\\"category\\\";a:1:{i:0;O:52:\\\"BaksDev\\\\Products\\\\Category\\\\Type\\\\Id\\\\CategoryProductUid\\\":4:{s:36:\\\"\\0BaksDev\\\\Core\\\\Type\\\\UidType\\\\Uid\\0value\\\";O:26:\\\"Symfony\\\\Component\\\\Uid\\\\Uuid\\\":1:{s:6:\\\"\\0*\\0uid\\\";s:36:\\\"01876af0-ddfc-70c3-ab25-5f85f55a9907\\\";}s:61:\\\"\\0BaksDev\\\\Products\\\\Category\\\\Type\\\\Id\\\\CategoryProductUid\\0options\\\";N;s:58:\\\"\\0BaksDev\\\\Products\\\\Category\\\\Type\\\\Id\\\\CategoryProductUid\\0attr\\\";N;s:60:\\\"\\0BaksDev\\\\Products\\\\Category\\\\Type\\\\Id\\\\CategoryProductUid\\0params\\\";N;}}s:6:\\\"device\\\";s:2:\\\"pc\\\";s:15:\\\"project_profile\\\";O:56:\\\"BaksDev\\\\Users\\\\Profile\\\\UserProfile\\\\Type\\\\Id\\\\UserProfileUid\\\":7:{s:36:\\\"\\0BaksDev\\\\Core\\\\Type\\\\UidType\\\\Uid\\0value\\\";O:26:\\\"Symfony\\\\Component\\\\Uid\\\\Uuid\\\":1:{s:6:\\\"\\0*\\0uid\\\";s:36:\\\"019469c3-700f-76a9-9b34-ccde7b4e6f49\\\";}s:62:\\\"\\0BaksDev\\\\Users\\\\Profile\\\\UserProfile\\\\Type\\\\Id\\\\UserProfileUid\\0attr\\\";N;s:64:\\\"\\0BaksDev\\\\Users\\\\Profile\\\\UserProfile\\\\Type\\\\Id\\\\UserProfileUid\\0option\\\";N;s:66:\\\"\\0BaksDev\\\\Users\\\\Profile\\\\UserProfile\\\\Type\\\\Id\\\\UserProfileUid\\0property\\\";N;s:72:\\\"\\0BaksDev\\\\Users\\\\Profile\\\\UserProfile\\\\Type\\\\Id\\\\UserProfileUid\\0characteristic\\\";N;s:64:\\\"\\0BaksDev\\\\Users\\\\Profile\\\\UserProfile\\\\Type\\\\Id\\\\UserProfileUid\\0params\\\";N;s:64:\\\"\\0BaksDev\\\\Users\\\\Profile\\\\UserProfile\\\\Type\\\\Id\\\\UserProfileUid\\0decode\\\";N;}}s:56:\\\"\\0BaksDev\\\\Core\\\\Doctrine\\\\DBAL\\\\Delay\\\\DBALDelayMessage\\0types\\\";a:4:{s:5:\\\"local\\\";s:6:\\\"locale\\\";s:8:\\\"category\\\";E:39:\\\"Doctrine\\\\DBAL\\\\ArrayParameterType:STRING\\\";s:6:\\\"device\\\";E:34:\\\"Doctrine\\\\DBAL\\\\ParameterType:STRING\\\";s:15:\\\"project_profile\\\";s:12:\\\"user_profile\\\";}}}' , '[]' , 'low' , '2026-02-13 19:36:39' , '2026-02-13 19:36:47' ) RETURNING id ;
Copy
10
2.28 ms
"COMMIT"
11
155.36 ms
SELECT product_trans . name AS product_name , product_info . url , product_info . sort , product_offer . id as product_offer_uid , product_offer . value as product_offer_value , product_offer . postfix as product_offer_postfix , category_offer . reference as product_offer_reference , product_variation . id as product_variation_uid , product_variation . value as product_variation_value , product_variation . postfix as product_variation_postfix , category_offer_variation . reference as product_variation_reference , product_modification . id as product_modification_uid , product_modification . value as product_modification_value , product_modification . postfix as product_modification_postfix , category_offer_modification . reference as product_modification_reference , category . id as category_id , category_info . url AS category_url ,
COALESCE (
NULLIF (product_modification_price . price , 0 ),
NULLIF (product_variation_price . price , 0 ),
NULLIF (product_offer_price . price , 0 ),
NULLIF (product_price . price , 0 ),
0
) AS product_price
,
COALESCE (
NULLIF (product_modification_price . old , 0 ),
NULLIF (product_variation_price . old , 0 ),
NULLIF (product_offer_price . old , 0 ),
NULLIF (product_price . old , 0 ),
0
) AS product_old_price
,
CASE
WHEN COALESCE (product_modification_price . price , 0 ) ! = 0
THEN product_modification_price . currency
WHEN COALESCE (product_variation_price . price , 0 ) ! = 0
THEN product_variation_price . currency
WHEN COALESCE (product_offer_price . price , 0 ) ! = 0
THEN product_offer_price . currency
WHEN COALESCE (product_price . price , 0 ) ! = 0
THEN product_price . currency
ELSE NULL
END AS product_currency , JSON_AGG
(DISTINCT
CASE
WHEN product_offer_images . ext IS NOT NULL
THEN JSONB_BUILD_OBJECT
(
'img_root' , product_offer_images . root ,
'img' , CONCAT ( '/upload/product_offer_images' , '/' , product_offer_images . name ),
'img_ext' , product_offer_images . ext ,
'img_cdn' , product_offer_images . cdn
)
WHEN product_variation_image . ext IS NOT NULL
THEN JSONB_BUILD_OBJECT
(
'img_root' , product_variation_image . root ,
'img' , CONCAT ( '/upload/product_variation_images' , '/' , product_variation_image . name ),
'img_ext' , product_variation_image . ext ,
'img_cdn' , product_variation_image . cdn
)
WHEN product_modification_image . ext IS NOT NULL
THEN JSONB_BUILD_OBJECT
(
'img_root' , product_modification_image . root ,
'img' , CONCAT ( '/upload/product_modification_images' , '/' , product_modification_image . name ),
'img_ext' , product_modification_image . ext ,
'img_cdn' , product_modification_image . cdn
)
WHEN product_photo . ext IS NOT NULL
THEN JSONB_BUILD_OBJECT
(
'img_root' , product_photo . root ,
'img' , CONCAT ( '/upload/product_photo' , '/' , product_photo . name ),
'img_ext' , product_photo . ext ,
'img_cdn' , product_photo . cdn
)
END ) AS product_images , product_invariable . id AS product_invariable_id , project_profile_discount . value AS project_discount FROM product LEFT JOIN product_trans product_trans ON product_trans . event = product . event AND product_trans . local = ? LEFT JOIN product_price product_price ON product_price . event = product . event LEFT JOIN product_info product_info ON product_info . product = product . id LEFT JOIN product_offer product_offer ON product_offer . event = product . event LEFT JOIN product_categories_product product_event_category ON
product_event_category . event = product . event AND
product_event_category . root = true LEFT JOIN product_photo product_photo ON product_photo . event = product . event INNER JOIN users_profile project_profile ON
project_profile . id = ? LEFT JOIN product_offer_quantity product_offer_quantity ON product_offer_quantity . offer = product_offer . id LEFT JOIN product_offer_price product_offer_price ON product_offer_price . offer = product_offer . id LEFT JOIN product_category_offers category_offer ON category_offer . id = product_offer . category_offer LEFT JOIN product_variation product_variation ON product_variation . id = (SELECT tmp_product_variation . id FROM product_variation tmp_product_variation WHERE tmp_product_variation . offer = product_offer . id ORDER BY tmp_product_variation . id DESC LIMIT 1 ) LEFT JOIN product_variation_images product_variation_image ON product_variation_image . variation = product_variation . id LEFT JOIN product_offer_images product_offer_images ON product_offer_images . offer = product_offer . id LEFT JOIN product_variation_quantity product_variation_quantity ON product_variation_quantity . variation = product_variation . id LEFT JOIN product_variation_price product_variation_price ON product_variation_price . variation = product_variation . id LEFT JOIN product_category_variation category_offer_variation ON category_offer_variation . id = product_variation . category_variation LEFT JOIN product_modification product_modification ON product_modification . variation = product_variation . id LEFT JOIN product_modification_quantity product_modification_quantity ON product_modification_quantity . modification = product_modification . id LEFT JOIN product_modification_price product_modification_price ON product_modification_price . modification = product_modification . id LEFT JOIN product_category_modification category_offer_modification ON category_offer_modification . id = product_modification . category_modification LEFT JOIN product_modification_images product_modification_image ON product_modification_image . modification = product_modification . id LEFT JOIN product_invariable product_invariable ON
product_invariable . product = product . id AND
(
(product_offer . const IS NOT NULL AND product_invariable . offer = product_offer . const ) OR
(product_offer . const IS NULL AND product_invariable . offer IS NULL )
)
AND
(
(product_variation . const IS NOT NULL AND product_invariable . variation = product_variation . const ) OR
(product_variation . const IS NULL AND product_invariable . variation IS NULL )
)
AND
(
(product_modification . const IS NOT NULL AND product_invariable . modification = product_modification . const ) OR
(product_modification . const IS NULL AND product_invariable . modification IS NULL )
)
INNER JOIN product_category category ON
category . id = product_event_category . category AND
category . id = ? LEFT JOIN product_category_info category_info ON category_info . event = category . event LEFT JOIN user_profile_discount project_profile_discount ON
project_profile_discount . event = project_profile . event WHERE (
CASE
WHEN product_modification_price . price IS NOT NULL THEN product_modification_price . price
WHEN product_variation_price . price IS NOT NULL THEN product_variation_price . price
WHEN product_offer_price . price IS NOT NULL THEN product_offer_price . price
WHEN product_price . price IS NOT NULL THEN product_price . price
ELSE 0
END > 0 ) AND (
CASE
WHEN product_modification_quantity . quantity IS NOT NULL THEN (product_modification_quantity . quantity - product_modification_quantity . reserve )
WHEN product_variation_quantity . quantity IS NOT NULL THEN (product_variation_quantity . quantity - product_variation_quantity . reserve )
WHEN product_offer_quantity . quantity IS NOT NULL THEN (product_offer_quantity . quantity - product_offer_quantity . reserve )
WHEN product_price . quantity IS NOT NULL THEN (product_price . quantity - product_price . reserve )
ELSE 0
END > 0 ) GROUP BY product_price . price , product_price . currency , product_price . reserve , product_price . quantity , product_offer_quantity . quantity , product_offer_quantity . reserve , product_offer_price . price , product_offer_price . currency , product_variation_quantity . quantity , product_variation_quantity . reserve , product_variation_price . price , product_variation_price . currency , product_modification_quantity . quantity , product_modification_quantity . reserve , product_modification_price . price , product_modification_price . currency , product_trans . name , product_info . url , product_info . sort , product_offer . id , product_offer . value , product_offer . postfix , category_offer . reference , product_variation . id , product_variation . value , product_variation . postfix , category_offer_variation . reference , product_modification . id , product_modification . value , product_modification . postfix , category_offer_modification . reference , category . id , category_info . url , product_modification_price . price , product_variation_price . price , product_offer_price . price , product_price . price , product_modification_price . old , product_variation_price . old , product_offer_price . old , product_price . old , product_modification_price . currency , product_variation_price . currency , product_offer_price . currency , product_price . currency , product_invariable . id , project_profile_discount . value ORDER BY product_modification_quantity . reserve DESC , product_variation_quantity . reserve DESC , product_offer_quantity . reserve DESC , product_price . reserve DESC LIMIT 2
Parameters :
[
"ru "
"019469c3-700f-76a9-9b34-ccde7b4e6f49 "
"01876af0-ddfc-70c3-ab25-5f85f55a9907 "
]
SELECT
product_trans . name AS product_name ,
product_info . url ,
product_info . sort ,
product_offer . id as product_offer_uid ,
product_offer . value as product_offer_value ,
product_offer . postfix as product_offer_postfix ,
category_offer . reference as product_offer_reference ,
product_variation . id as product_variation_uid ,
product_variation . value as product_variation_value ,
product_variation . postfix as product_variation_postfix ,
category_offer_variation . reference as product_variation_reference ,
product_modification . id as product_modification_uid ,
product_modification . value as product_modification_value ,
product_modification . postfix as product_modification_postfix ,
category_offer_modification . reference as product_modification_reference ,
category . id as category_id ,
category_info . url AS category_url ,
COALESCE (
NULLIF (
product_modification_price . price ,
0
),
NULLIF (
product_variation_price . price , 0
),
NULLIF (product_offer_price . price , 0 ),
NULLIF (product_price . price , 0 ),
0
) AS product_price ,
COALESCE (
NULLIF (
product_modification_price . old ,
0
),
NULLIF (product_variation_price . old , 0 ),
NULLIF (product_offer_price . old , 0 ),
NULLIF (product_price . old , 0 ),
0
) AS product_old_price ,
CASE WHEN COALESCE (
product_modification_price . price ,
0
) ! = 0 THEN
product_modification_price . currency
WHEN COALESCE (
product_variation_price . price , 0
) ! = 0 THEN
product_variation_price . currency
WHEN COALESCE (product_offer_price . price , 0 ) ! = 0 THEN
product_offer_price . currency
WHEN COALESCE (product_price . price , 0 ) ! = 0 THEN
product_price . currency
ELSE
NULL
END AS product_currency ,
JSON_AGG (
DISTINCT CASE WHEN product_offer_images . ext IS NOT NULL THEN
JSONB_BUILD_OBJECT (
'img_root' ,
product_offer_images . root ,
'img' ,
CONCAT (
'/upload/product_offer_images' ,
'/' , product_offer_images . name
),
'img_ext' ,
product_offer_images . ext ,
'img_cdn' ,
product_offer_images . cdn
)
WHEN product_variation_image . ext IS NOT NULL THEN
JSONB_BUILD_OBJECT (
'img_root' ,
product_variation_image . root ,
'img' ,
CONCAT (
'/upload/product_variation_images' ,
'/' , product_variation_image . name
),
'img_ext' ,
product_variation_image . ext ,
'img_cdn' ,
product_variation_image . cdn
)
WHEN product_modification_image . ext IS NOT NULL THEN
JSONB_BUILD_OBJECT (
'img_root' ,
product_modification_image . root ,
'img' ,
CONCAT (
'/upload/product_modification_images' ,
'/' , product_modification_image . name
),
'img_ext' ,
product_modification_image . ext ,
'img_cdn' ,
product_modification_image . cdn
)
WHEN product_photo . ext IS NOT NULL THEN
JSONB_BUILD_OBJECT (
'img_root' ,
product_photo . root ,
'img' ,
CONCAT (
'/upload/product_photo' , '/' , product_photo . name
),
'img_ext' ,
product_photo . ext ,
'img_cdn' ,
product_photo . cdn
)
END
) AS product_images ,
product_invariable . id AS product_invariable_id ,
project_profile_discount . value AS project_discount
FROM
product
LEFT JOIN product_trans product_trans ON product_trans . event = product . event
AND product_trans . local = ?
LEFT JOIN product_price product_price ON product_price . event = product . event
LEFT JOIN product_info product_info ON product_info . product = product . id
LEFT JOIN product_offer product_offer ON product_offer . event = product . event
LEFT JOIN product_categories_product product_event_category ON product_event_category . event = product . event
AND product_event_category . root = true
LEFT JOIN product_photo product_photo ON product_photo . event = product . event
INNER JOIN users_profile project_profile ON project_profile . id = ?
LEFT JOIN product_offer_quantity product_offer_quantity ON product_offer_quantity . offer = product_offer . id
LEFT JOIN product_offer_price product_offer_price ON product_offer_price . offer = product_offer . id
LEFT JOIN product_category_offers category_offer ON category_offer . id = product_offer . category_offer
LEFT JOIN product_variation product_variation ON product_variation . id = (
SELECT
tmp_product_variation . id
FROM
product_variation tmp_product_variation
WHERE
tmp_product_variation . offer = product_offer . id
ORDER BY
tmp_product_variation . id DESC
LIMIT
1
) LEFT JOIN product_variation_images product_variation_image ON product_variation_image . variation = product_variation . id
LEFT JOIN product_offer_images product_offer_images ON product_offer_images . offer = product_offer . id
LEFT JOIN product_variation_quantity product_variation_quantity ON product_variation_quantity . variation = product_variation . id
LEFT JOIN product_variation_price product_variation_price ON product_variation_price . variation = product_variation . id
LEFT JOIN product_category_variation category_offer_variation ON category_offer_variation . id = product_variation . category_variation
LEFT JOIN product_modification product_modification ON product_modification . variation = product_variation . id
LEFT JOIN product_modification_quantity product_modification_quantity ON product_modification_quantity . modification = product_modification . id
LEFT JOIN product_modification_price product_modification_price ON product_modification_price . modification = product_modification . id
LEFT JOIN product_category_modification category_offer_modification ON category_offer_modification . id = product_modification . category_modification
LEFT JOIN product_modification_images product_modification_image ON product_modification_image . modification = product_modification . id
LEFT JOIN product_invariable product_invariable ON product_invariable . product = product . id
AND (
(
product_offer . const IS NOT NULL
AND product_invariable . offer = product_offer . const
)
OR (
product_offer . const IS NULL
AND product_invariable . offer IS NULL
)
)
AND (
(
product_variation . const IS NOT NULL
AND product_invariable . variation = product_variation . const
)
OR (
product_variation . const IS NULL
AND product_invariable . variation IS NULL
)
)
AND (
(
product_modification . const IS NOT NULL
AND product_invariable . modification = product_modification . const
)
OR (
product_modification . const IS NULL
AND product_invariable . modification IS NULL
)
)
INNER JOIN product_category category ON category . id = product_event_category . category
AND category . id = ?
LEFT JOIN product_category_info category_info ON category_info . event = category . event
LEFT JOIN user_profile_discount project_profile_discount ON project_profile_discount . event = project_profile . event
WHERE
(
CASE WHEN product_modification_price . price IS NOT NULL THEN
product_modification_price . price
WHEN product_variation_price . price IS NOT NULL THEN
product_variation_price . price
WHEN product_offer_price . price IS NOT NULL THEN
product_offer_price . price
WHEN product_price . price IS NOT NULL THEN
product_price . price
ELSE
0
END > 0
)
AND (
CASE WHEN product_modification_quantity . quantity IS NOT NULL THEN
(
product_modification_quantity . quantity - product_modification_quantity . reserve
)
WHEN product_variation_quantity . quantity IS NOT NULL THEN
(
product_variation_quantity . quantity - product_variation_quantity . reserve
)
WHEN product_offer_quantity . quantity IS NOT NULL THEN
(
product_offer_quantity . quantity - product_offer_quantity . reserve
)
WHEN product_price . quantity IS NOT NULL THEN
(
product_price . quantity - product_price . reserve
)
ELSE
0
END > 0
)
GROUP BY
product_price . price ,
product_price . currency ,
product_price . reserve ,
product_price . quantity ,
product_offer_quantity . quantity ,
product_offer_quantity . reserve ,
product_offer_price . price ,
product_offer_price . currency ,
product_variation_quantity . quantity ,
product_variation_quantity . reserve ,
product_variation_price . price ,
product_variation_price . currency ,
product_modification_quantity . quantity ,
product_modification_quantity . reserve ,
product_modification_price . price ,
product_modification_price . currency ,
product_trans . name ,
product_info . url ,
product_info . sort ,
product_offer . id ,
product_offer . value ,
product_offer . postfix ,
category_offer . reference ,
product_variation . id ,
product_variation . value ,
product_variation . postfix ,
category_offer_variation . reference ,
product_modification . id ,
product_modification . value ,
product_modification . postfix ,
category_offer_modification . reference ,
category . id ,
category_info . url ,
product_modification_price . price ,
product_variation_price . price ,
product_offer_price . price ,
product_price . price ,
product_modification_price . old ,
product_variation_price . old ,
product_offer_price . old ,
product_price . old ,
product_modification_price . currency ,
product_variation_price . currency ,
product_offer_price . currency ,
product_price . currency ,
product_invariable . id ,
project_profile_discount . value
ORDER BY
product_modification_quantity . reserve DESC ,
product_variation_quantity . reserve DESC ,
product_offer_quantity . reserve DESC ,
product_price . reserve DESC
LIMIT
2
Copy
SELECT product_trans . name AS product_name , product_info . url , product_info . sort , product_offer . id as product_offer_uid , product_offer . value as product_offer_value , product_offer . postfix as product_offer_postfix , category_offer . reference as product_offer_reference , product_variation . id as product_variation_uid , product_variation . value as product_variation_value , product_variation . postfix as product_variation_postfix , category_offer_variation . reference as product_variation_reference , product_modification . id as product_modification_uid , product_modification . value as product_modification_value , product_modification . postfix as product_modification_postfix , category_offer_modification . reference as product_modification_reference , category . id as category_id , category_info . url AS category_url ,
COALESCE (
NULLIF (product_modification_price . price , 0 ),
NULLIF (product_variation_price . price , 0 ),
NULLIF (product_offer_price . price , 0 ),
NULLIF (product_price . price , 0 ),
0
) AS product_price
,
COALESCE (
NULLIF (product_modification_price . old , 0 ),
NULLIF (product_variation_price . old , 0 ),
NULLIF (product_offer_price . old , 0 ),
NULLIF (product_price . old , 0 ),
0
) AS product_old_price
,
CASE
WHEN COALESCE (product_modification_price . price , 0 ) ! = 0
THEN product_modification_price . currency
WHEN COALESCE (product_variation_price . price , 0 ) ! = 0
THEN product_variation_price . currency
WHEN COALESCE (product_offer_price . price , 0 ) ! = 0
THEN product_offer_price . currency
WHEN COALESCE (product_price . price , 0 ) ! = 0
THEN product_price . currency
ELSE NULL
END AS product_currency , JSON_AGG
(DISTINCT
CASE
WHEN product_offer_images . ext IS NOT NULL
THEN JSONB_BUILD_OBJECT
(
'img_root' , product_offer_images . root ,
'img' , CONCAT ( '/upload/product_offer_images' , '/' , product_offer_images . name ),
'img_ext' , product_offer_images . ext ,
'img_cdn' , product_offer_images . cdn
)
WHEN product_variation_image . ext IS NOT NULL
THEN JSONB_BUILD_OBJECT
(
'img_root' , product_variation_image . root ,
'img' , CONCAT ( '/upload/product_variation_images' , '/' , product_variation_image . name ),
'img_ext' , product_variation_image . ext ,
'img_cdn' , product_variation_image . cdn
)
WHEN product_modification_image . ext IS NOT NULL
THEN JSONB_BUILD_OBJECT
(
'img_root' , product_modification_image . root ,
'img' , CONCAT ( '/upload/product_modification_images' , '/' , product_modification_image . name ),
'img_ext' , product_modification_image . ext ,
'img_cdn' , product_modification_image . cdn
)
WHEN product_photo . ext IS NOT NULL
THEN JSONB_BUILD_OBJECT
(
'img_root' , product_photo . root ,
'img' , CONCAT ( '/upload/product_photo' , '/' , product_photo . name ),
'img_ext' , product_photo . ext ,
'img_cdn' , product_photo . cdn
)
END ) AS product_images , product_invariable . id AS product_invariable_id , project_profile_discount . value AS project_discount FROM product LEFT JOIN product_trans product_trans ON product_trans . event = product . event AND product_trans . local = 'ru' LEFT JOIN product_price product_price ON product_price . event = product . event LEFT JOIN product_info product_info ON product_info . product = product . id LEFT JOIN product_offer product_offer ON product_offer . event = product . event LEFT JOIN product_categories_product product_event_category ON
product_event_category . event = product . event AND
product_event_category . root = true LEFT JOIN product_photo product_photo ON product_photo . event = product . event INNER JOIN users_profile project_profile ON
project_profile . id = '019469c3-700f-76a9-9b34-ccde7b4e6f49' LEFT JOIN product_offer_quantity product_offer_quantity ON product_offer_quantity . offer = product_offer . id LEFT JOIN product_offer_price product_offer_price ON product_offer_price . offer = product_offer . id LEFT JOIN product_category_offers category_offer ON category_offer . id = product_offer . category_offer LEFT JOIN product_variation product_variation ON product_variation . id = (SELECT tmp_product_variation . id FROM product_variation tmp_product_variation WHERE tmp_product_variation . offer = product_offer . id ORDER BY tmp_product_variation . id DESC LIMIT 1 ) LEFT JOIN product_variation_images product_variation_image ON product_variation_image . variation = product_variation . id LEFT JOIN product_offer_images product_offer_images ON product_offer_images . offer = product_offer . id LEFT JOIN product_variation_quantity product_variation_quantity ON product_variation_quantity . variation = product_variation . id LEFT JOIN product_variation_price product_variation_price ON product_variation_price . variation = product_variation . id LEFT JOIN product_category_variation category_offer_variation ON category_offer_variation . id = product_variation . category_variation LEFT JOIN product_modification product_modification ON product_modification . variation = product_variation . id LEFT JOIN product_modification_quantity product_modification_quantity ON product_modification_quantity . modification = product_modification . id LEFT JOIN product_modification_price product_modification_price ON product_modification_price . modification = product_modification . id LEFT JOIN product_category_modification category_offer_modification ON category_offer_modification . id = product_modification . category_modification LEFT JOIN product_modification_images product_modification_image ON product_modification_image . modification = product_modification . id LEFT JOIN product_invariable product_invariable ON
product_invariable . product = product . id AND
(
(product_offer . const IS NOT NULL AND product_invariable . offer = product_offer . const ) OR
(product_offer . const IS NULL AND product_invariable . offer IS NULL )
)
AND
(
(product_variation . const IS NOT NULL AND product_invariable . variation = product_variation . const ) OR
(product_variation . const IS NULL AND product_invariable . variation IS NULL )
)
AND
(
(product_modification . const IS NOT NULL AND product_invariable . modification = product_modification . const ) OR
(product_modification . const IS NULL AND product_invariable . modification IS NULL )
)
INNER JOIN product_category category ON
category . id = product_event_category . category AND
category . id = '01876af0-ddfc-70c3-ab25-5f85f55a9907' LEFT JOIN product_category_info category_info ON category_info . event = category . event LEFT JOIN user_profile_discount project_profile_discount ON
project_profile_discount . event = project_profile . event WHERE (
CASE
WHEN product_modification_price . price IS NOT NULL THEN product_modification_price . price
WHEN product_variation_price . price IS NOT NULL THEN product_variation_price . price
WHEN product_offer_price . price IS NOT NULL THEN product_offer_price . price
WHEN product_price . price IS NOT NULL THEN product_price . price
ELSE 0
END > 0 ) AND (
CASE
WHEN product_modification_quantity . quantity IS NOT NULL THEN (product_modification_quantity . quantity - product_modification_quantity . reserve )
WHEN product_variation_quantity . quantity IS NOT NULL THEN (product_variation_quantity . quantity - product_variation_quantity . reserve )
WHEN product_offer_quantity . quantity IS NOT NULL THEN (product_offer_quantity . quantity - product_offer_quantity . reserve )
WHEN product_price . quantity IS NOT NULL THEN (product_price . quantity - product_price . reserve )
ELSE 0
END > 0 ) GROUP BY product_price . price , product_price . currency , product_price . reserve , product_price . quantity , product_offer_quantity . quantity , product_offer_quantity . reserve , product_offer_price . price , product_offer_price . currency , product_variation_quantity . quantity , product_variation_quantity . reserve , product_variation_price . price , product_variation_price . currency , product_modification_quantity . quantity , product_modification_quantity . reserve , product_modification_price . price , product_modification_price . currency , product_trans . name , product_info . url , product_info . sort , product_offer . id , product_offer . value , product_offer . postfix , category_offer . reference , product_variation . id , product_variation . value , product_variation . postfix , category_offer_variation . reference , product_modification . id , product_modification . value , product_modification . postfix , category_offer_modification . reference , category . id , category_info . url , product_modification_price . price , product_variation_price . price , product_offer_price . price , product_price . price , product_modification_price . old , product_variation_price . old , product_offer_price . old , product_price . old , product_modification_price . currency , product_variation_price . currency , product_offer_price . currency , product_price . currency , product_invariable . id , project_profile_discount . value ORDER BY product_modification_quantity . reserve DESC , product_variation_quantity . reserve DESC , product_offer_quantity . reserve DESC , product_price . reserve DESC LIMIT 2 ;
Copy