gpt4 book ai didi

mysql - 加入两个有效的 sql 查询会得到错误的结果——我哪里出错了

转载 作者:行者123 更新时间:2023-11-29 00:16:42 25 4
gpt4 key购买 nike

我有两个查询分别返回正确的数据,但当我尝试加入它们时,返回的数据是错误的。查询一是:

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

fiddle 在这里:http://www.sqlfiddle.com/#!8/ef9be/5

我不知道如何解决这个问题。我在 opa.products_options_values_id 上尝试了 Group BY,但这导致了问题,因为 40 的两个结果在数据结果中。任何帮助表示赞赏。

最佳答案

在您的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

关于mysql - 加入两个有效的 sql 查询会得到错误的结果——我哪里出错了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22737545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com