bài tập của mình có tất cả 3 bảng Hoso các trường :Khoá manv,hoten,gioitinh,ngaysinh,ngayvn(ngày vào ngành)
Phòng ban: Map,tenphong,vitri.
lượng:manv,map,hesoluong,ngayll(ngày lên lương)
câu hỏi yêu cầu là :
tạo report thống kê theo phòng của tháng hiện tại.Biết rằng 3 năm lên lương 1 lần mỗi lần lên hệ số lương được cộng 0.3 mình đã làm như sau nhưng k thể chạy được lúc chạy quay lại bảng xem trường hệ số lương của bảng lương thành null hết
CREATE PROCEDURE tanghsl
-- Add the parameters for the stored procedure here
--<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>,
--<@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
AS
BEGIN
declare @namct int
declare @solantang float
declare @nambd datetime
declare @namkt datetime
declare @hsltang float
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT @nambd=YEAR(dbo.hoso.ngvn),@namkt=YEAR(dbo.luong.n gayll),@namct=datediff(yy,@nambd, @namkt),@solantang=@namct/3,@hsltang=@solantang*0.3 FROM dbo.hoso INNER JOIN
dbo.luong ON dbo.hoso.manv = dbo.luong.manv
update dbo.luong
set hesoluong=hesoluong+@hsltang
from dbo.luong
- - - Nội dung đã được cập nhật ngày 11-04-2015 lúc 10:03 AM - - -
Code:
ALTER PROCEDURE [dbo].[ducanh]
@manv nvarchar(50)
-- Add the parameters for the stored procedure here
--<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>,
--<@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
AS
BEGIN
declare @namct int
declare @solantang float
declare @nambd datetime
declare @namkt datetime
declare @hsltang float
SELECT @nambd=dbo.hoso.ngvn,@namkt=dbo.luong.ngayll,@namct=datediff(yy,@nambd, @namkt),@solantang=@namct/3,@hsltang=@solantang*0.3
FROM dbo.hoso INNER JOIN
dbo.luong ON dbo.hoso.manv = dbo.luong.manv
update dbo.luong
set hesoluong=hesoluong+@hsltang
from dbo.hoso INNER JOIN
dbo.luong ON dbo.hoso.manv = dbo.luong.manv
where @manv=dbo.hoso.manv
END
van ra ket qua sai ai giup voi 
- - - Nội dung đã được cập nhật ngày 11-04-2015 lúc 10:16 AM - - -
kết quả ra sai năm bắt đầu 2002 năm kết thúc 2015 kết quả đúng phải là 2015-2002=13/3=4*0.3=1.2 nhưng kết quả ra tận 3.3 mong giúp