我有两个表:DISH和DISH_HAS_DISHES。Dish表包含所有菜肴,“ Dish_has_dishes”表与“
Dish”表具有一对多关系。即一个菜可以有多个菜。例如
碟 :
dish_id dish_name
1 dish_1
2 dish_2
3 dish_3
4 dish_4
DISH_HAS_DISHES :
meal_id dish_id
1 2
1 3
1 4
这里的meat_id和dish_id都是来自DISH表的ID。现在我想要这样的格式:
meal_id dish_ids dish_names
1 2,3,4 dish_2, dish_3, dish_4
这是用逗号分隔的菜肴ID和每餐的名称。怎么做?
使用GROUP_CONCAT FUNCTION
http://dev.mysql.com/tech-resources/articles/4.1/grab-
bag.html
SELEct m.meal_Id,
GROUP_CONCAT(dish_id) dish_ids,
GROUP_CONCAT(dish_name) dish_names
FROM DISH_HAS_DISHES m JOIN DISH d ON (m.dish_id = d.dish_id)
GROUP BY meal_Id
问题内容: 我有一个未标准化的表,其中的列包含逗号分隔的列表,该列表是另一个表的外键: 我想将此数据读入不提供过程语言的搜索引擎中。 那么,有没有一种方法, 要么 就这一栏中加入 或 该数据运行查询插入相应的条目到一个新的表?结果数据应如下所示: 如果DBMS支持返回表的函数,但MySQL显然不支持,我可以想到一个解决方案。 问题答案: 在MySQL中,可以通过以下方式实现 现在要获取逗号分隔的v
问题内容: 我有一个这样的表: Department是另一个具有dept_id和dept_name作为列的表。我想要这样的结果, 有什么帮助吗? 问题答案: 您可以按照以下方式进行操作: 编辑: 基于我需要加入哪一列?在一个表中,我有逗号分隔的ID,而在其他表中,我只有ID
我有一个包含N个字段的数据框,如下所述。列的数量和值的长度将有所不同。 输入表: 我必须用一个序列列将其转换为以下格式。 预期输出表: 我尝试过使用explode,但explode一次只能使用一个数组。 有人知道我怎么做吗?谢谢你的帮助。
问题内容: 当我有1、2、3等字符串列表时,我想将此列用作一列 是否可以通过sql查询? 例如) <-我知道这不起作用。 问题答案: 使用任意数字的子查询来分割您的字符串。您可以使用‘1,2,3’代替vals。 看到它正常工作
问题内容: 我正在编写导出功能,我需要将联系人导出到Excel,并且遇到了技术难题-也许我的SQL技能的差距更接近事实了。;) 这是场景:我在数据库中有一堆联系人。每个联系人可以具有许多不同的角色,例如,一个联系人可以是C#开发人员和DBA,也可以是DBA和IT经理。它们分为三个表,如下所示: 不太难遵循。有一组联系人和一组角色。这些由相应ID上的ContactRole表连接。 导出联系人时,我需
我有一个excel表格,有n行6列,我需要将所有这些行插入数据库表。所以我想把每一行的单元格转换成逗号分隔,并用引号列表标记。此外,如果任何单元格为空,则其值应标记为空字符串(“”) 示例:示例图像