我有两个单独返回正确数据的查询,但是当我尝试加入它们时,返回的数据是错误的。 查询一个是:
SELECT op.orders_id, op.products_id, op.products_name, op.final_price, op.products_quantity
FROM orders_products op
WHERE op.orders_id = 21535
查询二是:
SELECT opa.products_options_values_id, opa.products_prid
FROM orders_products_attributes opa
WHERE opa.orders_id = 21535
我尝试的合并查询是:
SELECT op.orders_id, op.products_id, op.products_model, op. products_name, op.final_price, op.products_quantity, opa.products_options_values_id, opa.products_prid
FROM orders_products op
JOIN orders_products_attributes opa
ON op.orders_id = opa.orders_id
WHERE op.orders_id = 21535
小提琴在这里:http://www.sqlfiddle.com/#!8/ef9be/5
我不知道如何解决这个问题。我在opa.products_options_values_id上尝试了Group BY,但这导致了问题,因为数据结果中有40个结果。 任何帮助表示赞赏。
答案 0 :(得分:1)
在join
条件下,您使用了orders_id
。你应该像这样使用orders_products_id
:
SELECT op.orders_id, op.products_id, op.products_model, op. products_name,
op.final_price, op.products_quantity, opa.products_options_values_id,
opa.products_prid
FROM orders_products op
JOIN orders_products_attributes opa ON op.orders_products_id = opa.orders_products_id
WHERE op.orders_id = 21535