兩條合併一條,求最簡單的解法

2021-04-12 19:14:41 字數 903 閱讀 3330

資料庫的資料如下

stampday  employeecd stamptype   stamptime

2007-02-28 2200399    1          08:02:00.000

2007-02-28 2200399    2          18:01:00.000

2007-03-01 2200399    1          08:08:00.000

(3 件処理されました)

這裡stamptype   為1的是出勤 2的時候是退勤

我想得到資料如下

stampday  employeecd 出勤    退勤

2007-02-28 2200399   08:02   18:01

2007-03-01 2200399   08:08  null

我做了乙個,能夠實現,但是顯示兩條同樣的資料,如下

stampday  employeecd 出勤    退勤

2007-02-28 2200399   08:02   18:01

2007-02-28 2200399   08:02   18:01

2007-03-01 2200399   08:08  null

經過處理可以實現乙個,但是個人認為方法太笨,再次向各位高手求教其他方法

select

stampday,

employeecd,

max(case stamptype when 1 then stamptime else null end) as 出勤,

max(case stamptype when 2 then stamptime else null end) as 退勤

from tablename

group by stampday,employeecd

一條分兩條

一條拆成兩條 統計當前客戶經理和客戶關係,上年底客戶經理和客戶關係 如果客戶經理和客戶關係跨越這兩個時間段,那麼一條分成兩條 with basic t as 客戶和客戶經理關係表 select 123 cust no,a am no,20091231 start dt 29991231 end dt...

MySQL 兩條記錄合併查詢成一條顯示

資料庫資料如下 張三,屬於a部門也屬於b部門,在表裡存的是兩條記錄,但是在頁面上我想要根據人來顯示,在一條記錄裡顯示張三屬於a部門和b部門,張三隻顯一條記錄,不顯示兩條。select t.id,t.code,t.name,max case t.type when a then t.dept name...

mysql 查詢鄰近的兩條記錄並合併成一條

現有乙個簽到表,需要查出每個人的每次簽到和簽出時間 t sign表結構和資料如下 id user type time1a in2016 10 10 09 00 002b in2016 10 10 09 05 003b out2016 10 10 10 00 005a out2016 10 10 11...