gpt4 book ai didi

Mysql,将多个值存储在另一个表的单个列中

转载 作者:IT王子 更新时间:2023-10-28 23:46:25 26 4
gpt4 key购买 nike


请耐心等待,我真的不擅长解释事情,我什至不知道这个问题的合适标题
好的,我有这个问题
我已经有一张表名meal

+------+--------+-----------+---------+
| id | name | serving | price |
+------+--------+-----------+---------+
| 1 | soup1 | 2 person | 12.50 |
+------+--------+-----------+---------+
| 2 | soup2 | 2 person | 15.50 |
+------+--------+-----------+---------+
| 3 | soup3 | 2 person | 23.00 |
+------+--------+-----------+---------+
| 4 | drink1 | 2 person | 4.50 |
+------+--------+-----------+---------+
| 5 | drink2 | 2 person | 3.50 |
+------+--------+-----------+---------+
| 6 | drink3 | 2 person | 5.50 |
+------+--------+-----------+---------+
| 7 | frui1 | 2 person | 3.00 |
+------+--------+-----------+---------+
| 8 | fruit2 | 2 person | 3.50 |
+------+--------+-----------+---------+
| 9 | fruit3 | 2 person | 4.50 |
+------+--------+-----------+---------+

好的,现在我想允许管理员从这个 meal 表中创建一个组合餐
所以这意味着,一个组合餐可以有无限数量的餐点

目前我想知道如何将组合餐存储/链接到餐点我不想在下面存储一些东西

+------+--------------+-----------+-----------+
| id | combo_name | serving | meal_id |
+------+--------------+-----------+-----------+
| 1 | combo1 | 2 person | 1,4,7,9 |
+------+--------------+-----------+-----------+
| 2 | combo2 | 2 person | 2,5,8 |
+------+--------------+-----------+-----------+
| 4 | combo3 | 2 person | 3,5,6,9 |
+------+--------------+-----------+-----------+

看看 meal_id 列,我不认为这是存储数据的好方法

最佳答案

创建多对多链接表:

combo_id    meal_id
1 1
1 4
1 7
1 9
2 2
2 5
2 8
3 3
3 5
3 6
3 9

为给定的组合选择所有膳食:

SELECT  m.*
FROM combo_meal cm
JOIN meal m
ON m.id = cm.meal_id
WHERE cm.combo_id = 1

关于Mysql,将多个值存储在另一个表的单个列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4804841/

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