Magento – Get All Products with Categories in a Flat View
May. 1, 2013
SELECT
w1.website_id,
w1.name as website_name,
s1.store_id,
s1.name as store_name,
p1.entity_id as product_id,
p1.sku,
pname.value as product_name,
url.value as url_path,
small_image.value as small_image,
msrp.value as msrp_price,
price.value as price,
p1.created_at as product_created_at,
p1.updated_at as product_updated_at,
visibility.value as visibility,
pstatus.value as status,
case
when
(pstatus.value = 1
and visibility.value > 1 )
then
1
else 0
end as enable_flag,
c1.entity_id as category_id,
cname.value as category_name,
c1.parent_id,
c1.created_at as category_created_at,
c1.updated_at as category_updated_at
FROM
catalog_product_entity p1
inner join
eav_attribute p_attr ON p1.entity_type_id = p_attr.entity_type_id
and p_attr.attribute_code = 'name'
inner join
catalog_product_entity_varchar pname ON pname.entity_id = p1.entity_id
and pname.attribute_id = p_attr.attribute_id
inner join
eav_attribute p_attr2 ON p1.entity_type_id = p_attr2.entity_type_id
and p_attr2.attribute_code = 'url_path'
inner join
catalog_product_entity_varchar url ON url.entity_id = p1.entity_id
and url.attribute_id = p_attr2.attribute_id
and pname.store_id = url.store_id
inner join
eav_attribute p_attr3 ON p1.entity_type_id = p_attr3.entity_type_id
and p_attr3.attribute_code = 'small_image'
inner join
catalog_product_entity_varchar small_image ON small_image.entity_id = p1.entity_id
and small_image.attribute_id = p_attr3.attribute_id
and pname.store_id = small_image.store_id
inner join
eav_attribute p_attr4 ON p1.entity_type_id = p_attr4.entity_type_id
and p_attr4.attribute_code = 'msrp'
inner join
catalog_product_entity_decimal msrp ON msrp.entity_id = p1.entity_id
and msrp.attribute_id = p_attr4.attribute_id
and pname.store_id = msrp.store_id
inner join
eav_attribute p_attr5 ON p1.entity_type_id = p_attr5.entity_type_id
and p_attr5.attribute_code = 'price'
inner join
catalog_product_entity_decimal price ON price.entity_id = p1.entity_id
and price.attribute_id = p_attr5.attribute_id
and pname.store_id = price.store_id
inner join
eav_attribute p_attr6 ON p1.entity_type_id = p_attr6.entity_type_id
and p_attr6.attribute_code = 'visibility'
inner join
catalog_product_entity_int visibility ON visibility.entity_id = p1.entity_id
and visibility.attribute_id = p_attr6.attribute_id
and pname.store_id = visibility.store_id
inner join
eav_attribute p_attr7 ON p1.entity_type_id = p_attr7.entity_type_id
and p_attr7.attribute_code = 'status'
inner join
catalog_product_entity_int pstatus ON pstatus.entity_id = p1.entity_id
and pstatus.attribute_id = p_attr7.attribute_id
and pname.store_id = pstatus.store_id
inner join
catalog_category_product ccp ON ccp.product_id = p1.entity_id
inner join
catalog_category_entity c1 ON c1.entity_id = ccp.category_id
inner join
eav_attribute c_attr ON c1.entity_type_id = c_attr.entity_type_id
and c_attr.attribute_code = 'name'
inner join
catalog_category_entity_varchar cname ON cname.entity_id = c1.entity_id
and cname.attribute_id = c_attr.attribute_id
and pname.store_id = cname.store_id
inner join
catalog_category_product_index store1 ON store1.product_id = p1.entity_id
and store1.category_id = c1.entity_id
inner join
core_store s1 ON store1.store_id = s1.store_id
inner join
core_website w1 ON s1.website_id = w1.website_id