Mysql 如何通过SQL获取prestashop产品属性

Mysql 如何通过SQL获取prestashop产品属性,mysql,sql,database,relational-database,prestashop,Mysql,Sql,Database,Relational Database,Prestashop,我需要为prestashop网站创建一个报告,显示产品id、名称和库存。到目前为止,我只是通过以下查询完成了这项工作: SELECT product.id_product, product_lang.name, stock_available.quantity FROM ps_product product, ps_product_lang product_lang, ps_stock_available stock_available WHERE stock_available.id_prod

我需要为prestashop网站创建一个报告,显示产品id、名称和库存。到目前为止,我只是通过以下查询完成了这项工作:

SELECT product.id_product, product_lang.name, stock_available.quantity
FROM ps_product product, ps_product_lang product_lang, ps_stock_available stock_available
WHERE stock_available.id_product = product.id_product
AND stock_available.id_product = product.id_product
AND product_lang.id_lang =1
AND product.reference =  ''
AND product_lang.id_product = product.id_product
其输出类似于:

|===============================|
|   id   |   name   |   stock   |
|   1    | earring  |    45     |
|===============================|
问题是,有些产品具有相同的名称和相同的ID,但属性不同,所以我得到的东西如下:

|===============================|
|   id   |   name   |   stock   |
|   1    | earring  |    45     |
|   1    | earring  |    76     |
|   1    | earring  |    9      |
|===============================|
|================================================|
|   id   |   name   |   attributes   |   stock   |
|   1    | earring  | yellow, short  |    45     |
|   1    | earring  | red, short     |    76     |
|   1    | earring  | red, long      |    9      |
|================================================|
我需要添加一个新字段,显示区分它们的属性,因此最终输出如下:

|===============================|
|   id   |   name   |   stock   |
|   1    | earring  |    45     |
|   1    | earring  |    76     |
|   1    | earring  |    9      |
|===============================|
|================================================|
|   id   |   name   |   attributes   |   stock   |
|   1    | earring  | yellow, short  |    45     |
|   1    | earring  | red, short     |    76     |
|   1    | earring  | red, long      |    9      |
|================================================|
但我无法弄清楚属性表(因为有几个属性表)如何与products表关联,以便向查询中添加适当的语句并获得所需的行为

如果有任何prestashop数据库专家在场,或任何能提供帮助的人,我将不胜感激。

试试这个:

SELECT DISTINCT
    p.id_product, pl.name, psa.quantity
FROM ps_product p 
    LEFT JOIN ps_product_lang pl ON (pl.id_product = p.id_product)   
    LEFT JOIN ps_stock_available psa ON (p.id_product = psa.id_product)
GROUP by p.id_product