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

Mysql Chuyển từ bảng này sang bảng khác Phần 2

Có vẻ như bạn đang tìm kiếm tập hợp có điều kiện:

select 
    u.user_id,
    u.username,
    min(case when a.action = 'IN' then a.dateTime end) `in`,
    max(case when a.action = 'OUT' then a.dateTime end) `out`
from 
    user u
    inner join user_attendance a on u.user_id = a.user_id
group by
    u.user_id,
    u.username,
    date(a.dateTime)
order by
    u.user_id,
    date(a.dateTime)

Bản trình diễn trên DB Fiddle :

| user_id | username | in                  | out                 |
| ------- | -------- | ------------------- | ------------------- |
| 1       | tiger    | 2019-10-01 08:00:00 | 2019-10-01 14:00:00 |
| 1       | tiger    | 2019-10-02 08:00:00 | 2019-10-02 14:00:00 |
| 2       | pooh     | 2019-10-01 08:00:00 | 2019-10-01 14:00:00 |
| 2       | pooh     | 2019-10-02 08:00:00 | 2019-10-02 14:00:00 |


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. thiết lập nhiều cột bằng cách sử dụng một bản cập nhật

  2. Bảng của tôi có cần chuẩn hóa nhiều hơn không?

  3. Tại sao tôi nhận được id tài nguyên # 4 khi tôi áp dụng print_r () cho một mảng trong PHP?

  4. PDO - Tìm nạp PGS trong vòng lặp 'while'

  5. Chọn các hàng riêng biệt từ hai bảng, sắp xếp theo ngày