mysql - 如何在Mysql中将多行作为一行插入到另一个表中

标签 mysql

我有两个表,表 A 和表 B。表 A 包含一些具有相同 emp_id 和日期的记录,如下所示。但是时间列具有不同的值。现在我想将这两条记录作为一条记录插入到表中B.表B的预期输出如下所示。

表A

enter image description here

表 B [预期输出]

enter image description here

最佳答案

这将是您显示该结果所需的逻辑。如果不使用您的特定表等进行测试,不确定它是否能正常工作。这也会选择数据并像这样显示它,但不会插入它(不知道为什么您需要它)

 SELECT 
 id,
 emp_id
 date,
 MAX(case when row = 1 then time end) in1,
 MAX(case when row = 2 then time end) in2
 FROM
 (
 SELECT id, emp_id, date, time
 row_number() over(partition by id) row
 FROM TableA
 ) a
 GROUP BY date;

关于mysql - 如何在Mysql中将多行作为一行插入到另一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46559468/

相关文章:

php - 如何使用 mysqli 准备好的语句更新数据库?

mysql - 日期比较周和年格式

Python MySQL 日期格式

mysql - 错误 1045 (28000) 拒绝用户 'root' @'localhost' 的访问(使用密码 : YES)

mysql - Rails - 按模型中的商店属性搜索

mysql - 计算有限深度树中的子级数

java - 如何使用 Java 配置到 Azure 上托管的 MySQL 的 SSL 连接?

php - 如何为要插入数据库sql的许多股票添加一个id

mysql - MySQL中的BULK INSERT问题

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源