我有三张桌子:
1- j_order: order_id, order_created,
2- j_order_product: order_product_code, order_product_name, product_id, order_id
3- j_product_category: product_id, category_id
现在,我需要选择所有这些字段。 关系是:
j_order.order_id = j_order_product.order_id
j_order_product.product_id = j_product_category.product_id
这是我使用的查询:
SELECT j_order.order_id, order_created , order_product_code,
order_product_name, j_order_product.product_id, j_product_category.category_id
FROM `j_order`
INNER JOIN `j_order_product`
ON j_order.order_id = j_order_product.order_id
INNER JOIN `j_product_category`
ON j_product_category.product_id = j_order_product.product_id
WHERE category_id=2
问题:每个订单只返回一个产品。因此,对于包含多个产品的订单,只有第一个可见。
答案 0 :(得分:0)
SELECT j_order.order_id, order_created , order_product_code,
order_product_name, j_order_product.product_id, j_product_category.category_id
FROM `j_order`
INNER JOIN `j_order_product`
ON j_order.order_id = j_order_product.order_id
INNER JOIN `j_product_category`
ON j_product_category.product_id = j_order_product.product_id
这样可以正常工作。
我排除了WHERE category_id=2
,这就是为什么它只显示one Product per Order
(类别2)。
希望这有帮助。