在“ catalog_product_entity”上获取多个产品属性作为列

时间:2019-11-27 11:41:12

标签: mysql entity-attribute-value magento2.2

我正在尝试创建一个显示具有各种产品属性的产品列表的表,但是我完全束缚了这样做的方式。

预期表如下所示;

entity_id, sku, price, cost
        1, abc,    20,   15
        2, def,    30,   25
        3, ghi,    10,    5

下面的两个产品属性都存储在表“ catalog_product_entity_decimal”的同一列“值”中

Price: attribute_id = 77

Cost: attribute_id = 81

因此,如果我是内部联接表,则每个entity_id的attribute_id 77和81都有两行

您能帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您可以两次加入属性表

select a.entity_id, a.sku, b.value price, c.value cost
from your_product_table a
inner join your_table_attribute b
  on a.entity_id = b.entity_id 
      AND b.attribute_id = 77
inner join  your_table_attribute c on a.entity_id = c.entity_id
      AND c.attribute_id = 81
where  a.entity_id = 1