gpt4 book ai didi

mysql - 一列中有两个外键。怎么分?

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

我有以下情况。

组合表:
组合 ID |选项 ID

选项表:
选项 ID |选项名称 |期权值(value)

当引用与组合关联的两个选项时,组合表中的“选项 ID”列读起来类似于“2345,3421”(在一列中)。

是否可以生成一个列表,列出所有可能的组合以及每个组合的值?

IE。 组合1 |选项1 |名称:尺码 |值:小 |选项2 |名称:颜色 |值:蓝色

最佳答案

您可以尝试这样的查询 -

SELECT
c.Combination_ID, GROUP_CONCAT(CONCAT(o.Option_Name, '=', o.Option_Value))
FROM
combinations c
LEFT JOIN options o
ON find_in_set(o.Option_ID, c.Option_IDs)
GROUP BY
c.Combination_ID

同意 Ian McLaird 关于表规范化的观点。

<小时/>
SELECT
c.Combination_ID,
GROUP_CONCAT(o.Option_Name),
GROUP_CONCAT(o.Option_Value)
FROM
combinations c
LEFT JOIN options o
ON find_in_set(o.Option_ID, c.Option_IDs)
GROUP BY
c.Combination_ID

关于mysql - 一列中有两个外键。怎么分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10678777/

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