Ðề: Xin giúp đỡ về cách hiện bảng lương trong Access
Mình có 3 table:
NV(MaNV,HoNV,TenNV)
Xe(BienSX, SoCHo)
NV-Xe(MaNV,BienSX,NgayGiaoXe)
với table NV-Xe ghi nhận thông tin: ngày nhân viên được giao xe.
Yêu cầu: 1 xe có thể có 1 hoặc nhiều nhân viên cùng đảm nhận xe.
Nhưng mình vẫn không biết cách nào xác định trong thời gian hiện tại 1 xe có bao nhiêu người đang quản lý. Xe nào o có nhân viên quản lý, và nhân viên đó đang (hoặc có) quản lý bao nhiêu xe.
Mong các bạn hướng dẫn giúp
Bạn có thể dùng query để thực hiện, nhưng để cho gọn, tôi sẽ viết dưới dạng SQL Statement. Bạn có thể copy nó vào một query mới mà dùng:
Một xe có bao nhiêu người quản lý trong thời gian hiện tại:
1. Trường hợp chỉ cần biết số người:
SELECT BienSX, COUNT(MaNV) AS songuoi FROM NV-Xe WHERE NgayGiaoXe = Date() GROUP BY BienSX
2. Trường hợp cần biết luôn là ai:
SELECT A.BienSX, A.MaNV, (B.HoNV + " " + B.TenNV) AS hoten FROM NV-Xe A INNER JOIN NV B ON A.MaNV = B.MaNV WHERE NgayGiaoXe = Date()
Xe không có ai quản lý:
SELECT BienSX FROM Xe WHERE BienSX Not In (SELECT BienSX FROM NV-Xe WHERE NgayGiaoXe = Date())
Nhân viên quản lý bao nhiêu xe:
1. Trường hợp chi cần biết số lượng xe:
SELECT MaNV, COUNT(BienSX) AS soxe FROM NV-Xe WHERE NgayGiaoXe = Date() GROUP BY MaNV
2. Trường hợp biết chi tiết từng xe:
SELECT A.MaNV, (B.HoNV + " " + B.TenNV) AS hoten, A.BienSX FROM NV-Xe A INNER JOIN NV B ON A.MaNV = B.MaNV WHERE NgayGiaoXe = Date()