MySQL:组合表1中的多个列并插入表2中的1列

标签 mysql sql join relational-database

我一直在尝试解决这个问题,但似乎无法想出一个简单的解决方案。

举例来说,我有一个表,该表在 3 列中具有相似的数据(即跨越 3 列的不同类型的事件),但我希望将这三列插入到单独的表 (Table2) 中,以便我可以保留类似的数据在一起并执行 JOIN 将其与表 1 中各自的数据进行匹配。

我不是在谈论执行 CONCAT 或 CONCAT_WS,而是将这三列从 Table1 移动到 Table2 中的一列,每个项目都有自己的行。

有没有办法通过查询来完成此操作,而无需手动将每个条目插入到 Table2 中?

提前谢谢您!

最佳答案

它可能很简单:

insert into table2
(field)
select column1 from table1
union
select column2 from table1
union
select column3 from table1

但是,在执行此操作之前,请确定如果 table1 中的两列具有相同的值,您要执行什么操作。

关于MySQL:组合表1中的多个列并插入表2中的1列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15394492/

相关文章:

java - 为什么 MySQL 的 float 与 Java 的 float 不同?

使用 SQLyog 备份 MySQL 表

WLAN 上的 mysql 客户端

php - 从名为列的数字中获取值

mysql - 如何用sql搜索字母 'å'

php - 用于选择属于多个类别的帖子的 SQL 查询

mysql - orderByRaw 删除 Laravel 4.2 中的部分查询

c - pthread_join 不起作用

MySQL 查询(或 Doctrine 1.2 查询)- 从连接表和过滤器中获取最新项目

MySQL连接表只返回一个匹配项