簡體   English   中英

如何將 1 個表中的 2 個值加入 1 行?

[英]How to Join 2 value in 1 table into 1 row?

我有一個名為log_attendance的表

在此處輸入圖片說明

需要的輸出:

在此處輸入圖片說明

謝謝你的幫助

一個簡單的方法是通過emp_id列使用GROUP BY子句,然后使用聚合方法MAX()MIN()以獲得所需的結果。 請注意,要映射到NULL值,您需要進行額外檢查,如下所示:

SELECT
    emp_id,
    MIN(tap_in) AS tap_in,
    IF(MIN(tap_in) = MAX(tap_in), NULL, MAX(tap_in)) AS tap_out
FROM
    log_attendance
GROUP BY
    emp_id

您也可以在這里查看: DB-Fiddle

您可能必須使用GROUP BYMINMAX函數來實現您的要求。

SELECT emp_id,
       MIN(tap_in) AS tap_in,
       MAX(tap_in) tap_out
FROM TABLE
GROUP BY emp_id

請看下面的簡單查詢

SELECT empid,
   min([tap In]) [tap In] ,CASE WHEN  min([tap In])= max([tap In]) THEN NULL ELSE max([tap In]) END [tap out] 
FROM
    log_attendance 
 GROUP BY empid 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM