SELECT 
  cscart_products.*, 
  cscart_product_descriptions.*, 
  MIN(
    IF(
      cscart_product_prices.percentage_discount = 0, 
      cscart_product_prices.price, 
      cscart_product_prices.price - (
        cscart_product_prices.price * cscart_product_prices.percentage_discount
      )/ 100
    )
  ) as price, 
  GROUP_CONCAT(
    CASE WHEN (
      cscart_products_categories.link_type = 'M'
    ) THEN CONCAT(
      cscart_products_categories.category_id, 
      'M'
    ) ELSE cscart_products_categories.category_id END 
    ORDER BY 
      cscart_categories.storefront_id IN (0, 1) DESC, 
      (
        cscart_products_categories.link_type = 'M'
      ) DESC, 
      cscart_products_categories.category_position ASC, 
      cscart_products_categories.category_id ASC
  ) as category_ids, 
  GROUP_CONCAT(
    CASE WHEN (
      cscart_products_tag_categories.link_type = 'M'
    ) THEN CONCAT(
      cscart_products_tag_categories.category_id, 
      'M'
    ) ELSE cscart_products_tag_categories.category_id END 
    ORDER BY 
      cscart_categories.storefront_id IN (0, 1) DESC, 
      (
        cscart_products_tag_categories.link_type = 'M'
      ) DESC, 
      cscart_products_tag_categories.category_position ASC, 
      cscart_products_tag_categories.category_id ASC
  ) as category_tag_ids, 
  popularity.total as popularity, 
  companies.company as company_name, 
  cscart_product_sales.amount as sales_amount, 
  cscart_seo_names.name as seo_name, 
  cscart_seo_names.path as seo_path, 
  cscart_discussion.type as discussion_type, 
  cscart_product_review_prepared_data.average_rating average_rating, 
  cscart_product_review_prepared_data.reviews_count product_reviews_count, 
  ps.sold as sold 
FROM 
  cscart_products 
  LEFT JOIN cscart_product_prices ON cscart_product_prices.product_id = cscart_products.product_id 
  AND cscart_product_prices.lower_limit = 1 
  AND cscart_product_prices.usergroup_id IN (0, 0, 1) 
  LEFT JOIN cscart_product_descriptions ON cscart_product_descriptions.product_id = cscart_products.product_id 
  AND cscart_product_descriptions.lang_code = 'vi' 
  LEFT JOIN cscart_companies as companies ON companies.company_id = cscart_products.company_id 
  INNER JOIN cscart_products_categories ON cscart_products_categories.product_id = cscart_products.product_id 
  LEFT JOIN cscart_products_tag_categories ON cscart_products_tag_categories.product_id = cscart_products.product_id 
  INNER JOIN cscart_categories ON cscart_categories.category_id = cscart_products_categories.category_id 
  AND cscart_categories.storefront_id IN (0, 1) 
  AND (
    cscart_categories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_categories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_categories.usergroup_ids
    )
  ) 
  AND (
    cscart_products.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_products.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_products.usergroup_ids
    )
  ) 
  AND cscart_categories.status IN ('A', 'H') 
  AND cscart_products.status IN ('A', 'H') 
  LEFT JOIN cscart_product_popularity as popularity ON popularity.product_id = cscart_products.product_id 
  LEFT JOIN cscart_product_sales ON cscart_product_sales.product_id = cscart_products.product_id 
  AND cscart_product_sales.category_id = 154 
  LEFT JOIN cscart_seo_names ON cscart_seo_names.object_id = 2255 
  AND cscart_seo_names.type = 'p' 
  AND cscart_seo_names.dispatch = '' 
  AND cscart_seo_names.lang_code = 'vi' 
  LEFT JOIN cscart_discussion ON cscart_discussion.object_id = cscart_products.product_id 
  AND cscart_discussion.object_type = 'P' 
  LEFT JOIN cscart_product_review_prepared_data ON cscart_product_review_prepared_data.product_id = cscart_products.product_id 
  AND cscart_product_review_prepared_data.storefront_id = 0 
  LEFT JOIN cscart_product_sold ps ON cscart_products.product_id = ps.product_id 
WHERE 
  cscart_products.product_id = 2255 
  AND (
    companies.status IN ('A') 
    OR cscart_products.company_id = 0
  ) 
GROUP BY 
  cscart_products.product_id

Query time 0.04554

JSON explain

{
  "query_block": {
    "select_id": 1,
    "nested_loop": [
      {
        "table": {
          "table_name": "cscart_products",
          "access_type": "const",
          "possible_keys": ["PRIMARY", "status"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["const"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "popularity",
          "access_type": "const",
          "possible_keys": ["PRIMARY", "total"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["const"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "cscart_product_sales",
          "access_type": "const",
          "possible_keys": ["PRIMARY", "pa"],
          "key": "PRIMARY",
          "key_length": "6",
          "used_key_parts": ["category_id", "product_id"],
          "ref": ["const", "const"],
          "rows": 0,
          "filtered": 0,
          "unique_row_not_found": true
        }
      },
      {
        "table": {
          "table_name": "cscart_product_prices",
          "access_type": "ref",
          "possible_keys": [
            "usergroup",
            "product_id",
            "lower_limit",
            "usergroup_id"
          ],
          "key": "product_id",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,0,1))"
        }
      },
      {
        "table": {
          "table_name": "cscart_product_descriptions",
          "access_type": "const",
          "possible_keys": ["PRIMARY", "product_id"],
          "key": "PRIMARY",
          "key_length": "11",
          "used_key_parts": ["product_id", "lang_code"],
          "ref": ["const", "const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(cscart_product_descriptions.lang_code = 'vi')"
        }
      },
      {
        "table": {
          "table_name": "companies",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "4",
          "used_key_parts": ["company_id"],
          "ref": ["const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(companies.`status` = 'A')"
        }
      },
      {
        "table": {
          "table_name": "cscart_products_categories",
          "access_type": "ref",
          "possible_keys": ["PRIMARY", "pt"],
          "key": "pt",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["const"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "cscart_categories",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY", "c_status", "p_category_id"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["category_id"],
          "ref": ["dev_db.cscart_products_categories.category_id"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "cscart_categories.storefront_id in (0,1) and (cscart_categories.usergroup_ids = '' or find_in_set(0,cscart_categories.usergroup_ids) or find_in_set(1,cscart_categories.usergroup_ids)) and cscart_categories.`status` in ('A','H')"
        }
      },
      {
        "table": {
          "table_name": "cscart_products_tag_categories",
          "access_type": "ref",
          "possible_keys": ["pt"],
          "key": "pt",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["const"],
          "rows": 17,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "cscart_seo_names",
          "access_type": "ref",
          "possible_keys": ["PRIMARY", "dispatch"],
          "key": "PRIMARY",
          "key_length": "206",
          "used_key_parts": ["object_id", "type", "dispatch", "lang_code"],
          "ref": ["const", "const", "const", "const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(cscart_seo_names.`type` = 'p' and cscart_seo_names.dispatch = '' and cscart_seo_names.lang_code = 'vi')"
        }
      },
      {
        "table": {
          "table_name": "cscart_discussion",
          "access_type": "const",
          "possible_keys": ["object_id"],
          "key": "object_id",
          "key_length": "6",
          "used_key_parts": ["object_id", "object_type"],
          "ref": ["const", "const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(cscart_discussion.object_type = 'P')"
        }
      },
      {
        "table": {
          "table_name": "cscart_product_review_prepared_data",
          "access_type": "const",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "7",
          "used_key_parts": ["product_id", "storefront_id"],
          "ref": ["const", "const"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "block-nl-join": {
          "table": {
            "table_name": "<derived2>",
            "access_type": "ALL",
            "rows": 12545,
            "filtered": 100,
            "attached_condition": "ps.product_id = 2255"
          },
          "buffer_type": "flat",
          "buffer_size": "209Kb",
          "join_type": "BNL",
          "attached_condition": "trigcond(ps.product_id = 2255)",
          "materialized": {
            "query_block": {
              "select_id": 2,
              "filesort": {
                "sort_key": "count(cscart_order_details.product_id) desc",
                "temporary_table": {
                  "nested_loop": [
                    {
                      "table": {
                        "table_name": "cscart_order_details",
                        "access_type": "index",
                        "key": "o_k",
                        "key_length": "6",
                        "used_key_parts": ["order_id", "product_id"],
                        "rows": 12545,
                        "filtered": 100,
                        "using_index": true
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    ]
  }
}

Result

product_id product_code product_type status company_id list_price amount weight length width height shipping_freight low_avail_limit timestamp updated_timestamp usergroup_ids is_edp edp_shipping unlimited_download tracking free_shipping zero_price_action is_pbp is_op is_oper is_returnable return_period is_make_to_order make_period avail_since out_of_stock_actions localization min_qty max_qty qty_step list_qty_count tax_ids age_verification age_limit options_type exceptions_type details_layout shipping_params facebook_obj_type parent_product_id buy_now_url is_stock_split_by_warehouses is_fragile lang_code product shortname short_description full_description meta_keywords meta_description search_words page_title age_warning_message promo_text specification special_note punch_line selection chus_note about_brand why_chus purchasing_notice note_from_brand is_sync_seo_url price category_ids category_tag_ids popularity company_name sales_amount seo_name seo_path discussion_type average_rating product_reviews_count sold
2255 10053_18 P A 75 0 999 1000.000 0 0 0 0.00 0 1655312400 1726252619 0 N N N B N N N N Y 10 Y 5 - 7 0 N N 0 default a:5:{s:16:"min_items_in_box";i:1;s:16:"max_items_in_box";i:1;s:10:"box_length";i:25;s:9:"box_width";i:35;s:10:"box_height";i:15;} 0 N N vi Túi Da Chữ Nhật Đứng Đeo Chéo, Màu Sắc Và Chất Liệu Da Đa Dạng <p>Một chiếc túi với thiết kế thanh lịch sẽ là món đồ nhất định phải có trong tủ quần áo. Túi Chữ Nhật Đứng Đeo Chéo gồm dây đeo điều chỉnh cùng phần nội thất rộng rãi, sẽ là lựa chọn lý tưởng cho những chuyến đi xa. Ngoài ra, chất liệu da thật chắc chắn sẽ đảm bảo được tính bền bỉ của túi theo thời gian.</p> , Vertical Rectangle Leather Crossbody Bag, Various Colors And Leather Material <p>- Kích thước: 21 x 30 x 8 cm</p> <p>- Chất liệu: Da cao cấp, chỉ gai tự nhiên</p> <p>Những chỉ dẫn chăm sóc da đơn giản, đồng hành cùng bạn trong chặng đường dài:</p> <p>- Giữ đồ da tránh ánh nắng gay gắt</p> <p>- Giữ đồ da tránh xa các đồ vật có bề mặt gồ ghề hoặc sắc nhọn.</p> <p>- Tránh va chạm mạnh hoặc để sản phẩm tiếp xúc trực tiếp với nước</p> <p>- Tất cả các loại da trơn và sáp có thể dễ dàng làm sạch bằng khăn cotton mềm, hơi ẩm, thấm dung dịch dầu gội hoặc xà phòng tự nhiên nhẹ. Sau đó, bôi một lớp sản phẩm bảo vệ dạng sáp, chẳng hạn như xi đánh giày ở dạng sệt hoặc kem, sau đó bôi dưỡng trực tiếp vào da.</p> Da Mộc | Sản Phẩm Da | Túi Đeo Chéo | Thủ Công | Mộc Mạc | Quà Tặng Cho Các Nàng | Da Nhập Khẩu | Thiết Kế Đặc Trưng <p>1. Vì đây là sản phẩm theo yêu cầu nên mọi hình ảnh đều mang tính chất tham khảo. Khách hàng có thể đặt làm dựa trên bảng màu và họa tiết đã được cung cấp.<p/><p> 2. Lưu ý nếu khắc tên:<p/><p> ⁃ Chữ có thể bao gồm: <p/><p>+ Chữ cái A - Z (theo bảng chữ cái tiếng Anh)<p/><p>+ Số 0 - 9<p/><p>+ Dấu câu (trừ ngoặc đơn)<p/><p>+ Các ký hiệu như +, =, \, @, #, $,%, &amp;,, / hay hình trái tim<p/><p> ⁃ Vì là dập tay nên chữ không tuyệt đối thẳng hàng. <p/><p> 3. Nếu có bất kì câu hỏi hay thắc mắc nào cần hỗ trợ, vui lòng liên hệ với trung tâm chăm sóc khách hàng của Chus thông qua messenger hoặc hotline.</p> <p>Kiểu dáng trẻ trung, năng động cùng thiết kế đeo chéo cực kỳ tiện dụng, chắc chắn sẽ được lòng bất cứ ai, đặc biệt là các tín đồ đam mê xê dịch. Chiếc túi vừa đủ thanh lịch để diện cùng với các item tối giản mỗi ngày, vừa không kém phần sang trọng khi diện cùng với vest hay đầm trơn cho những bữa tiệc hay gặp gỡ đối tác. Bạn sẽ luôn tỏa ra thần thái tự tin và cuốn hút khi đồng hành cùng chiếc túi này.</p> <p>Chất liệu da luôn song hành với sự phát triển của thời trang và sáng tạo. Tuy nhiên, chất liệu này cũng vấp phải nhiều ý kiến trái chiều bởi những ảnh hưởng của nó tới môi trường.</p> <p>Hướng đến sản xuất bền vững, Thanhsimone - thương hiệu làm đồ da thủ công đã quyết định sử dụng da mộc (Vegetable Tanned Leather) từ các nhà thuộc da cao cấp tại Châu u cho các sản phẩm của mình. Chất liệu này được tạo ra nhờ phương pháp thuộc da lâu đời và cổ điển nhất trên thế giới, tận dụng axit tannic được tìm thấy trong thiên nhiên như vỏ cây, trái và lá cây để tạo màu. Do đó, rất thân thiện với môi trường và đảm bảo an toàn cho người lao động.</p> <p>Ra đời năm 2020, Thanhsimone không đơn thuần là một xưởng sản xuất đồ da, nơi trưng bày và bán sản phẩm. Đây còn là không gian để Thanh Lê chia sẻ cảm hứng của mình tới mọi người, nơi người mua hàng có thể cảm nhận sức sống của từng món đồ da và lắng nghe trực tiếp những chia sẻ của những người thợ thủ công.</p> <p>Cùng với đó, Thanh Lê - nhà sáng lập thương hiệu cũng nghiên cứu và tạo ra kỹ thuật gia công mới, hạn chế tạo tiếng ồn. Kỹ thuật này không chỉ đem đến nét riêng trong các sản phẩm của Thanhsimone, nó còn thể hiện những kết nối chặt chẽ giữa các bộ phận trong một sản phẩm, là sự tôn trọng không gian yên tĩnh xung quanh, Thanh Lê muốn dành cho những người hàng xóm thân thiện của mình.</p> a:4:{s:17:"rs_brand_producer";a:5:{i:0;s:24:"Sản xuất thủ công";i:1;s:77:"Thiết kế bởi nhà thiết kế người Việt, học tập tại Pháp";i:2;s:40:"Hướng tới sản xuất bền vững";i:3;s:0:"";i:4;s:0:"";}s:14:"rs_ingredients";a:5:{i:0;s:22:"Da chất lượng cao";i:1;s:50:"Chỉ gai tự nhiên thân thiện môi trường";i:2;s:0:"";i:3;s:0:"";i:4;s:0:"";}s:14:"rs_manufacture";a:5:{i:0;s:43:"100% sản xuất thủ công từ da mộc";i:1;s:0:"";i:2;s:0:"";i:3;s:0:"";i:4;s:0:"";}s:17:"rs_certifications";a:5:{i:0;s:0:"";i:1;s:0:"";i:2;s:0:"";i:3;s:0:"";i:4;s:0:"";}} <p>BẢO HÀNH TRỌN ĐỜI</p> <p>1. Điều kiện bảo hành:</p> <p>- Lỗi kỹ thuật của nhà sản xuất: lỗi đường may, đứt chỉ, sản phẩm cong vênh, lỗi xử lý viền cạnh.</p> <p>- Các chi tiết trang trí, phụ kiện (nút bấm, khóa cài, móc, khóa kéo) hoặc các phụ kiện gắn trên sản phẩm. Nếu không còn phụ kiện thay thế sẽ thay bằng phụ kiện khác tương tự.</p> <p>- Phải trình thẻ bảo hành, có mã số hóa đơn và sản phẩm hợp lệ.</p> <p>2. Điều kiện không bảo hành:</p> <p>- Sản phẩm không có phiếu bảo hành. - Sản phẩm quá cũ hoặc bị hư hỏng và Lỗi từ phía khách hàng gây nên như trầy xước, bị mòn, rách, đứt, gãy, nổ,....</p> <p>- Sản phẩm không còn nguyên vẹn do những thiệt hại ngẫu nhiên: bị rạch đứt hoặc bị móc rách, bị động vật cắn, bảo quản không tốt gây ẩm mốc, phai nắng, nóng chảy, cháy…</p> <p>Trong mọi trường hợp, quyết định của Thanhsimone là quyết định cuối cùng!</p> Vui lòng ghi rõ tổ hợp màu muốn phối hoặc thông tin bạn muốn khắc tại mục “Lưu ý từ khách hàng” bên dưới. Phần tổ hợp màu phối, vui lòng ghi theo mã màu. Ví dụ Phối màu C04 - C05. Nếu không có ghi chú về phối màu, Thanhsimone sẽ phối màu ngẫu nhiên. Tham khảo phần lưu ý trong “Danh mục lựa chọn” để ghi thông tin khắc tên cho phù hợp. 1 21800000.0000 154M,154M,154M,154M,154M,154M,154M,154M,154M,154M,154M,154M,154M,154M,154M,154M,154M 416M,418,419,420,421,422,423,425,444,467,489,490,491,492,494,515,517 14694 thanhsimone tui-da-chu-nhat-dung-deo-cheo-mau-sac-va-chat-lieu-da-da-dang 100/154 D 0