Sess_Kakashi
22-12-2011, 14:27
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 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
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 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