我正在尝试产品的数量以及用户选择的属性名称。例如,为product id = 180
选择了什么属性名称,其中order id = 2118
是什么?
任何建议,我如何才能正确执行mysql join查询以获取订单数据。
答案 0 :(得分:0)
处理此类问题的方法是将查询分解为多个步骤。
在Zen Cart中,订单的属性详细信息存储在表orders_products_attributes
中。 (注意:我假设您的表的前缀为zen_
。如果没有,请从下面的查询中删除它。)因此,在phpMyAdmin中,您可以使用:
SELECT * FROM
zen_orders_products_attributes where orders_id = 2118
这为您提供了所有属性,但是您得到的是orders_products_id,而不是产品ID。因此,要将其映射回product_id,请检查orders_products
表。
SELECT * FROM
zen_orders_products where orders_id = 2118
因此,现在您可以看到两个表都包含orders_products_id
和orders_id
。
因此,请在查询中使用这两个字段。我猜想products_options
和products_options_values
字段包含您需要的信息。
SELECT products_options, products_options_values FROM zen_orders_products op, zen_orders_products_attributes opa WHERE op.orders_id = opa.orders_id AND op.orders_id = 2118 AND op.products_id=180
;