gpt4 book ai didi

Mysql 查询 JOIN 查询

转载 作者:行者123 更新时间:2023-11-29 14:49:25 28 4
gpt4 key购买 nike

我有三张 table 。表 A 有选项名称(即颜色、尺寸)。表 B 有选项值名称(即蓝色、红色、黑色等)。表C通过将选项名称id和选项名称值id放在一起来建立关系。

我的查询需要显示值和选项的名称,而不是 ID 号。我可以一次执行 A 和 B 一项操作,并获取值和选项名称的列表,但由于值和选项是相关的,所以我想要一个组合列表。例如。

颜色 - 蓝色红色尺寸 - 大尺寸 - 小号

所以我的问题是如何连接这两个查询以获得如上所示的组合结果。

SELECT products_options.products_options_name FROM products_options
LEFT JOIN products_options_values_to_products_options ON products_options_values_to_products_options.products_options_id=products_options.products_options_id

SELECT products_options_values.products_options_values_name FROM products_options_values
LEFT JOIN products_options_values_to_products_options ON products_options_values_to_products_options.products_options_values_id=products_options_values.products_options_values_id

最佳答案

您需要两个联接,如下所示:

select product_options.product_id,
option_names.name_id,
option_names.name,
option_values.value_id,
option_values.name
from product_options
join option_names using (option_id)
join option_values using (option_id)
where product_options.product_id = :product_id

它不会将它们组合在一起以立即插入到您的变体表中,但这是您在 MySQL 中所能做的最好的事情。

关于Mysql 查询 JOIN 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6122528/

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