如何连接外键中的信息

如何连接外键中的信息

我只是意识到我的措辞很差
我正在尝试找出是否可以在插入语句中执行此操作,而不是尝试输出数据时

这听起来可能很混乱,但希望我能解释一下。

我有两个表,expertise(父级)和department(子级)

我拥有以下专业知识:

exp_id int(2) primary key
exp_name varchar(30)


在部门中,我有:

dep_id int(2) primary key
dep_name varchar(30)
exp_id int(2) foreign key


我不希望部门行的结果如下所示:

dep_id dep_name exp_id

1    accounting       32
1    accounting       27
1    accounting       29


我想看起来像这样

dep_id dep_name      exp_id
1    accounting      32, 27, 29


因此,如果有意义的话,一行中有多行。

我相信我必须配合使用它,但是我以前从未使用过它,并且一直在寻求帮助

我只是意识到我的措辞很差
我试图找出我是否可以在插入语句中执行此操作,而不是尝试输出数据时

最佳答案

您应该可以使用group_concat,即:

select dep_id, dep_name, group_concat(exp_id) exp_id
  from department
  group by dep_id, dep_name


您还应该考虑对部门表进行规范化,由于dep_id, dep_name的重复组,它目前违反了第一范式。 reference here

编辑

我看到您更新了问题,说您希望将数据以这种方式存储在表中,而不显示。

答案是:您真的不知道。

分隔的字段几乎无法处理,并且在rdbms中都是可怕的。如果绝对必须以这种方式使用它,则可以使用上面的查询来创建视图,并至少以适当的规范化方式存储实际数据。

重新重申。请不要这样做。小猫会死。

关于mysql - 如何连接外键中的信息?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30633967/

10-11 07:04