--borrows表中,求出每个读者借书 应该到期还书时间!---根据会员类型计算还书时间
--假设bcout 为借书日期
select a.*,还书日期=dateadd(day,case b.rtype when 0 then 20 when 1 then 30 when 2 then 50 end,b.bcount)
from readers a
join borrows b on a.rno=b.rno--borrows表中,求出每个读者还书是否过期,过期多少天!(请先把字段意思说明一下)
--假设bcout 为借书日期
select a.*,还书日期=dateadd(day,case b.rtype when 0 then 20 when 1 then 30 when 2 then 50 end,b.bcount)
from readers a
join borrows b on a.rno=b.rno--borrows表中,求出每个读者还书是否过期,过期多少天!(请先把字段意思说明一下)
rno --学号
bno --书名号
bout -- 借出时间
bin --应当归还时间
bcout --借书的数量
能最好用T-SQL语句编写!谢谢
select m.* ,
应该到期还书时间 = dateadd(day , (case n.rtype when 0 then 20 when 1 then 30 when 2 then 50 end),m.bout)
from borrows m , readers n
where m.rno = n.rno--2.求出每个读者还书是否过期,过期多少天!
select * ,
[过期多少天] = datediff(day , 应该到期还书时间 , getdate())
from
(
select m.* ,
应该到期还书时间 = dateadd(day , (case n.rtype when 0 then 20 when 1 then 30 when 2 then 50 end),m.bout)
from borrows m , readers n
where m.rno = n.rno
) t
where 应该到期还书时间 < getdate()
select * ,
overdue = datediff(day ,bin, getdate())
from
(
select m.* ,
bin = dateadd(day , (case n.rtype when 0 then 20 when 1 then 30 when 2 then 50 end),m.bout)
from borrows m , readers n
where m.rno = n.rno
) t
where bin < getdate()