2017-10-04 148 views
0

我有兩張表作爲表A和表B.表A包含幾個具有相同emp_id和日期的記錄,如下所示。但是時間列具有不同的值。現在我想將這兩個記錄作爲一個記錄插入表B.表B的預期輸出顯示如下。如何在Mysql中將多行作爲一行插入到另一個表中

表A

enter image description here

表B [預期輸出]

enter image description here

+0

你爲什麼要這樣做? – Strawberry

+0

@Strawberry對於一天中的用戶,可能有兩個不同的時間。如果沒有兩個不同的時間,它應該在表B中存儲爲NULL值。 – colombo

+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; 

讓我知道如果你有問題

相關問題