如何通过sql获取prestashop产品属性

vm0i2vca  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(466)

我需要建立一个prestashop网站显示产品id,名称和股票报告。到目前为止,我已经通过以下查询完成了:

  1. SELECT product.id_product, product_lang.name, stock_available.quantity
  2. FROM ps_product product, ps_product_lang product_lang, ps_stock_available stock_available
  3. WHERE stock_available.id_product = product.id_product
  4. AND stock_available.id_product = product.id_product
  5. AND product_lang.id_lang =1
  6. AND product.reference = ''
  7. AND product_lang.id_product = product.id_product

输出如下:

  1. |===============================|
  2. | id | name | stock |
  3. | 1 | earring | 45 |
  4. |===============================|

问题是,有些产品有相同的名称和相同的id,但属性不同,所以我得到这样的东西:

  1. |===============================|
  2. | id | name | stock |
  3. | 1 | earring | 45 |
  4. | 1 | earring | 76 |
  5. | 1 | earring | 9 |
  6. |===============================|

我需要的是添加一个新字段,显示区分它们的属性,因此最终输出如下:

  1. |================================================|
  2. | id | name | attributes | stock |
  3. | 1 | earring | yellow, short | 45 |
  4. | 1 | earring | red, short | 76 |
  5. | 1 | earring | red, long | 9 |
  6. |================================================|

但是我无法弄清楚attributes表(因为有几个表)如何与products表相关联,以便向查询中添加正确的语句并获得所需的行为。
如果有任何prestashop数据库Maven在身边,或任何人可以帮助,我会非常感谢。

zmeyuzjn

zmeyuzjn1#

试试这个:

  1. SELECT DISTINCT
  2. p.id_product, pl.name, psa.quantity
  3. FROM ps_product p
  4. LEFT JOIN ps_product_lang pl ON (pl.id_product = p.id_product)
  5. LEFT JOIN ps_stock_available psa ON (p.id_product = psa.id_product)
  6. GROUP by p.id_product

相关问题