SELECT
ushop_products.*,
ushop_product_descriptions.*,
MIN(
IF(
ushop_product_prices.percentage_discount = 0,
ushop_product_prices.price,
ushop_product_prices.price - (
ushop_product_prices.price * ushop_product_prices.percentage_discount
)/ 100
)
) as price,
GROUP_CONCAT(
CASE WHEN (
ushop_products_categories.link_type = 'M'
) THEN CONCAT(
ushop_products_categories.category_id,
'M'
) ELSE ushop_products_categories.category_id END
ORDER BY
ushop_categories.storefront_id IN (0, 1) DESC,
(
ushop_products_categories.link_type = 'M'
) DESC,
ushop_products_categories.category_position ASC,
ushop_products_categories.category_id ASC
) as category_ids,
popularity.total as popularity,
companies.company as company_name,
ushop_products.is_returnable,
ushop_products.return_period,
ushop_product_sales.amount as sales_amount,
ushop_seo_names.name as seo_name,
ushop_seo_names.path as seo_path,
ushop_booking_and_reservation.booking_type as booking_type,
ushop_booking_and_reservation.date_from as date_from,
ushop_booking_and_reservation.date_to as date_to,
ushop_booking_and_reservation.book_time as book_time,
ushop_booking_and_reservation.break_time as break_time,
ushop_booking_and_reservation.week_data as week_data,
ushop_booking_and_reservation.apply_same_slots as apply_same_slots,
ushop_discussion.type as discussion_type,
ushop_product_review_prepared_data.average_rating average_rating,
ushop_product_review_prepared_data.reviews_count product_reviews_count
FROM
ushop_products
LEFT JOIN ushop_product_prices ON ushop_product_prices.product_id = ushop_products.product_id
AND ushop_product_prices.lower_limit = 1
AND ushop_product_prices.usergroup_id IN (0, 0, 1)
LEFT JOIN ushop_product_descriptions ON ushop_product_descriptions.product_id = ushop_products.product_id
AND ushop_product_descriptions.lang_code = 'es'
LEFT JOIN ushop_companies as companies ON companies.company_id = ushop_products.company_id
INNER JOIN ushop_products_categories ON ushop_products_categories.product_id = ushop_products.product_id
INNER JOIN ushop_categories ON ushop_categories.category_id = ushop_products_categories.category_id
AND ushop_categories.storefront_id IN (0, 1)
AND (
ushop_categories.usergroup_ids = ''
OR FIND_IN_SET(
0, ushop_categories.usergroup_ids
)
OR FIND_IN_SET(
1, ushop_categories.usergroup_ids
)
)
AND (
ushop_products.usergroup_ids = ''
OR FIND_IN_SET(0, ushop_products.usergroup_ids)
OR FIND_IN_SET(1, ushop_products.usergroup_ids)
)
AND ushop_categories.status IN ('A', 'H')
AND ushop_products.status IN ('A', 'H')
LEFT JOIN ushop_product_popularity as popularity ON popularity.product_id = ushop_products.product_id
LEFT JOIN ushop_product_sales ON ushop_product_sales.product_id = ushop_products.product_id
AND ushop_product_sales.category_id = 0
LEFT JOIN ushop_seo_names ON ushop_seo_names.object_id = 531
AND ushop_seo_names.type = 'p'
AND ushop_seo_names.dispatch = ''
AND ushop_seo_names.lang_code = 'es'
LEFT JOIN ushop_cp_auctions as auctions ON ushop_products.product_id = auctions.product_id
LEFT JOIN ushop_users ON ushop_products.company_id = ushop_users.company_id
AND ushop_users.user_type = 'V'
AND ushop_users.user_id = 0
LEFT JOIN ushop_booking_and_reservation ON ushop_booking_and_reservation.product_id = ushop_products.product_id
AND ushop_booking_and_reservation.product_id = 531
LEFT JOIN ushop_discussion ON ushop_discussion.object_id = ushop_products.product_id
AND ushop_discussion.object_type = 'P'
LEFT JOIN ushop_product_review_prepared_data ON ushop_product_review_prepared_data.product_id = ushop_products.product_id
AND ushop_product_review_prepared_data.storefront_id = 0
WHERE
ushop_products.product_id = 531
AND (
companies.status IN ('A')
OR ushop_products.company_id = 0
)
AND (
CASE WHEN (
ushop_products.cp_active_auction_id > 0
) THEN (
auctions.users = ''
OR FIND_IN_SET(0, auctions.users)
) ELSE 1 END
OR ushop_users.company_id = ushop_products.company_id
)
GROUP BY
ushop_products.product_id