【问题标题】:How to get prestashop product attributes through SQL如何通过SQL获取prestashop产品属性
【发布时间】:2018-06-28 14:33:58
【问题描述】:

我需要为 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      |
|================================================|

但我无法弄清楚属性表(因为其中有几个)与 products 表的关系,以便将正确的语句添加到查询中并获得所需的行为。

如果周围有任何 prestashop 数据库专家,或者任何可以提供帮助的人,我将不胜感激。

【问题讨论】:

    标签: mysql sql database relational-database prestashop


    【解决方案1】:

    试试这个:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-31
      • 1970-01-01
      • 1970-01-01
      • 2016-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多