将数据从多行插入一行mysql
Posted
技术标签:
【中文标题】将数据从多行插入一行mysql【英文标题】:insert data from multiple rows to one row mysql 【发布时间】:2013-01-01 02:35:17 【问题描述】:好的,事情就是这样。我需要使用 mysql 将表 A 中的一列中的多行插入表 B 中的一行
这是我试图实现的一个例子:
Table A
id | data
1 | name
2 | date
3 | more
从表 A 中,我需要选择数据列中的所有行并将该数据插入表 B 的“数据”列的一行中 像这样:
Table B
id | data
1 | name, date, more
这是我当前的代码,但它不起作用并显示错误subquery returns more than one row
INSERT INTO B (data) values (SELECT data from A)
有什么办法可以做到吗?请原谅,因为我是新手:P
提前致谢!
【问题讨论】:
哦,那是“插入 B(数据)值(从 A 中选择数据)” 【参考方案1】:使用GROUP_CONCAT函数
试试这个:
INSERT INTO B (data)
SELECT GROUP_CONCAT(data) FROM A;
【讨论】:
哦,太好了,谢谢!还有一件事,如果我必须从表 A 的选定行中插入数据怎么办?例如,我想要从 A 到 B 的 id=1 或 id=2 行的数据列的值?提前致谢! 哦,这是我的 IT 教授给我解决的问题的一部分。 @user1987363:使用WHERE
条件。例如... FROM A WHERE A.id IN (1,2)
@user1987363 不要忘记接受所有答案中的任何一个,无论你发现哪个对你有用以上是关于将数据从多行插入一行mysql的主要内容,如果未能解决你的问题,请参考以下文章