我有两个表作为表A和表B.表A包含几个具有相同emp_id和日期的记录,如下所示。但是时间列具有不同的值。现在我想将这两个记录作为一条记录插入表中B.表B的预期输出如下所示。
表A
表B [预期产出]
答案 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;
如果您有疑问,请告诉我