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

时间:2017-10-04 07:39:15

标签: mysql mysqli

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

表A

enter image description here

表B [预期产出]

enter image description here

1 个答案:

答案 0 :(得分:0)

这将是您显示该结果所需的逻辑。不确定它是否会完全没有用你的特定表等测试它。这也将选择数据并显示它,但不会插入它(不知道为什么你需要它)

 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;

如果您有疑问,请告诉我