SQL高手请进高分请你做3道简单的题目

用户表user用户IDuser_ID用户性名user_name用户金额user_money注册日期user_date图书表books图书IDbooks_ID图书名称boo... 用户表user
用户ID user_ID
用户性名 user_name
用户金额 user_money
注册日期 user_date

图书表 books
图书ID books_ID
图书名称 books_name
上架日期 up_date
是否被借出 books_if

租借表 lease
图书ID books_ID
用户ID user_ID
借出日期 loan_date
归还日期 return_date

1.用存储过程写出借书和还书
2.查询出2006年7月2日至2007年7月5日借出书籍的书名与租借人性名
3.查询出2006年里借出的书籍 已经租借这些书的人的姓名

希望写的明细点 好的在给你加50分
SQL server 数据库~
展开
 我来答
gc_ding
2007-08-01 · TA获得超过311个赞
知道小有建树答主
回答量:285
采纳率:0%
帮助的人:277万
展开全部
问题一:要求不清晰,借书和还书这个要求不明确
问题二:
select b.books_name,c.user_name
from lease a, books b, user c
where a.books_ID=b.books_ID and a.user_ID=c.user_ID
and loan_date between '2006-07-02' and '2007-07-05'
问题三:
select b.books_name,c.user_name
from lease a, books b, user c
where a.books_ID=b.books_ID and a.user_ID=c.user_ID
and YEAR(loan_date) = '2006'
百度网友e96fa20
2007-07-23
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
数据库是SQL server?DB2,MySQL。。。。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
云中漫步515
2007-07-23 · 贡献了超过123个回答
知道答主
回答量:123
采纳率:0%
帮助的人:0
展开全部
恩,对阿。日期在不同的数据库都不一样,最麻烦了在哪个数据库?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
daniuajuan
2007-07-23
知道答主
回答量:19
采纳率:0%
帮助的人:12.7万
展开全部
我也想帮,但我会努力的,我也在找答案.从你的题中我学到好多东西,虽然你没有写任何代码,但我学到了.谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友16d4ab6
2007-08-06 · 超过15用户采纳过TA的回答
知道答主
回答量:82
采纳率:0%
帮助的人:50万
展开全部
问题说清楚,是什么数据库MSSQL2000?MSSQL2005,借或还具体点。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
歪鼻木熊
2007-08-08 · TA获得超过458个赞
知道小有建树答主
回答量:305
采纳率:0%
帮助的人:459万
展开全部
试着写一写, 给你做参考, 具体的还要你自己来写了.
=============================
问题一:

借书
1.把图书ID和用户ID作为参数(当然还可以加入其他参数,比如借书扣多少钱等)
2.判断图片是否存在,是否已被借出
3.借出后,归还日期置为NULL表示尚未归还
--------------------------
CREATE PROCEDURE LoanBook
@iBooksID int,
@iUserID int
as

set nocount on

/*如果图书不存在或者已被借出,返回0*/
if not exists(select * from books where books_ID=@iBooksID and books_if=0)
return (0)

/*开始借书操作,成功后返回1(判断租借表中是否已有记录,有则更新该记录,无则添加)*/
/*如果需要,这里还可以加入其他语句,比如扣钱等,所扣的钱数也可作为参数传入,自己视情况调整*/
update books set books_if=1 where books_ID=@iBooksID
if exists(select * from lease where books_ID=@iBooksID and user_ID=@iUserID)
begin
update lease set loan_date=getdate(),return_date=null where books_ID=@iBooksID and user_ID=@iUserID
end
else
begin
insert into lease (books_ID,user_ID,loan_date,return_date) values (@iBooksID,@iUserID,getdate(),null)
end
return(1)

GO
-----------------------
还书
由于提供的租借表只有图书ID和用户ID可作关键字,故仍以这两个作为参数,其实最好是另设个lease_ID, 这样同一个人多次借同一本书时,都可以完全记录下来,目前这种结构只能保存最新的状态.
-----------------------------
CREATE PROCEDURE ReturnBook
@iBooksID int,
@iUserID int
as

set nocount on

/*如果租借表中不存在用户对该书的租借记录或已归还,返回0*/
if not exists(select * from lease where books_ID=@iBooksID and user_ID=@iUserID and return_date is null)
return (0)

/*开始还书操作*/
update books set books_if=0 where books_ID=@iBooksID
update lease set return_date=getdate where books_ID=@iBooksID and user_ID=@iUserID
return (1)

GO
-----------------------------

问题二:
/*注意这里的日期上限用了2007-7-6,就是7月6日零点之前,这样才能包括2007-7-5
select b.books_name,c.user_name from lease a,books b,user c where b.books_ID=a.books_ID and c.user_ID=a.user_ID and loan_date>='2006-7-2' and loan_date<'2007-7-6'

问题三:
select b.books_name,c.user_name from lease a,books b,user c where b.books_ID=a.books_ID and c.user_ID=a.user_ID and year(loan_date)='2006'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式