VNIT

Too lazy to think of a slogan

Trang chủ » Diễn Đàn » Hỏi đáp Tin học » SQL và Cơ sở dữ liệu » Lấy ra dữ liệu ngày mới nhất của từng nhân viên

Chủ đề đã bị khóa, bạn không thể xóa, sửa hay trả lời trong chủ đề này!

First Page Previous Page  1  Next Page Last Page
Locked Lấy ra dữ liệu ngày mới nhất của từng nhân viên
0
question Gởi bởi sess_kakashi (1:28 22-12-2011)
Bài: 2 / Điểm VCS: 1 /

Mình có 3 table là nhanvien (ID_NV,Hoten...), ChucVu(ID_CV,TenCV), QDChucVu(ID_QD,NgayQD,ID_NV,ID_CV).

dữ liệu nhập vào QDChucVu như sau:


(1,5/10/2010,'NV01','TP')
(2,22/11/2011,'NV01','GD')
(3,5/11/2010,'NV02','GD')
(4,15/12/2011,'NV02','PGD)


mình muốn lấy ra những nhân viên có chức vụ là GD hay PGD, vậy thì khi chạy sẽ ra 2 giá trị 2 và 4. Mình viết câu lệnh SQL như sau:



create proc NguoiKy
as
select top n.ID_NV,n.HoTen,c.TenCV,qd.NgayQD
from NhanVien n, ChucVu c,QDChucVu qd
where n.ID_NV=qd.ID_NV and c.ID_CV=qd.ID_CV and qd.ID_CV ='GD'
group by n.ID_NV,n.HoTen,c.TenCV,qd.NgayQD
order by qd.NgayQD desc
union
select n.ID_NV,n.HoTen,c.TenCV,qd.NgayQD
from NhanVien n, ChucVu c,QDChucVu qd
where n.ID_NV=qd.ID_NV and c.ID_CV=qd.ID_CV and qd.ID_CV ='PGD'
group by n.ID_NV,n.HoTen,c.TenCV,qd.NgayQD
order by qd.NgayQD desc


nhưng mà lúc xuất ra thì nó lại ra cả 2,3,4
Mình tìm hoài vẫn không biết thế nào. Ai biết thì chỉ dùm.
Thanks
First Page Previous Page  1  Next Page Last Page

Thống kê

Hiện tại web site có 85,806 thành viên. Xin chào đón thành viên mới nhất nightt.

Các thành viên đã tạo 62,822 chủ đề và 241,950 bài viết trong 30 box.

Hiện có 0 thành viên và 1 khách đang trực tuyến.

Template by styleshout / Icons by Tango Icon Library and FamFamFam.