Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Hiển thị các giá trị của ngày giờ cho các hàng khác nhau trong DataGridView

Bạn có thể sử dụng một truy vấn như sau:

SELECT empID, emp_day, MAX(am_in1) as am_in, MAX(am_out1) as am_out, MAX(pm_in1) as pm_in, MAX(pm_out1) as pm_out
FROM (
SELECT empID, DATE_FORMAT(`time_stamp`,'%e') as emp_day,
CASE WHEN am_pm='am' AND in_out='in' THEN DATE_FORMAT(`time_stamp`,'%T') ELSE '' END as am_in1,
CASE WHEN am_pm='am' AND in_out='out' THEN DATE_FORMAT(`time_stamp`,'%T') ELSE '' END as am_out1,
CASE WHEN am_pm='pm' AND in_out='in' THEN DATE_FORMAT(`time_stamp`,'%T') ELSE '' END as pm_in1,
CASE WHEN am_pm='pm' AND in_out='out' THEN DATE_FORMAT(`time_stamp`,'%T') ELSE '' END as pm_out1
FROM attendance
) as o
GROUP BY empID, emp_day

Truy vấn phụ định dạng các cột mong muốn và các nhóm truy vấn chính để nhận được một hàng cho mỗi nhân viên mỗi ngày.

CHỈNH SỬA: đây là một fiddle




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sao chép các bảng có tên cột khác MySQL

  2. làm thế nào để thả cơ sở dữ liệu

  3. Hoạt động MySQL quá mức

  4. Phương ngữ SQL không được định cấu hình (Phpstorm)

  5. Chọn Nhiều Id từ một bảng