日期:2014-05-18  浏览次数:20435 次

请教,这道SQL题目该如何做?第五道新旧两表间的数据迁移
4、   为配合公司内部资料管理制度,我们建立了资料出库(借阅)信息表(hyzl_ck)。其结构及内容如下:
编号         书名编号           书名                         借阅部门             借阅人             出库日期           归还
(no)   (book_no)   (book_name)         (dept)             (reader)       (lend   date)(return)
0001           La-001           经济法简介                   财会部               李小明             03/02/1997         否
0003           Co-004           Oracle指南                   研发部               张力                 02/24/1998         否
0007           Co-021           VC++Manual               工程部                 潘平                 08/17/1997         否
0009           La-002           企业法                           管理部               曾斌                 08/08/1998         否
0018           La-005           现代企业管理制度       研发部               王知名             05/23/1998         否
请写出SQL语句,列出到今天为止,所有超过借阅期限且未还书(三个月)的借阅人姓名及所借书籍名称。
5、   由于设计工作的疏忽,使用中我们发现资料出库(借阅)信息表(hyzl_ck)中的字段不够完整,为此我们创建了新的资料出库(借阅)信息表(hyzl_jy),新表中增加了两个新的字段:借阅期限(limit_date)和归还日期(remand_date)。现需进行新旧两表间的数据迁移并将借阅期限字段的值填写为出库日期后的三个月,请写出相应的SQL语句。

------解决方案--------------------
DATADIFF(YEAR,lend date,GETDATE())> 0 OR
DATADIFF(MONTH,lend date,GETDATE())> 3
------解决方案--------------------
4\

CREATE TABLE dbo.hyzl_ck (
[编号] INT IDENTITY(1,1),
[书名编号] char(10),
[书名] VARCHAR(100),
[借阅部门] VARCHAR(10),
[借阅人] VARCHAR(8),
[出库日期] DATETIME,
[归还] BIT
CONSTRAINT [PK_hyzl_ck] PRIMARY KEY CLUSTERED
(
[编号] ASC
) ON [PRIMARY]
)ON [PRIMARY]

------解决方案--------------------
SELECT [借阅人],[书名]
FROM dbo.hyzl_ck WITH (NOLOCK)
WHERE
DATEDIFF(YEAR,[出库日期],GETDATE())> 0 OR
DATEDIFF(MONTH,[出库日期],GETDATE())> 3
------解决方案--------------------
徵 软 在 线 工程师的服务态度蛮好的嘛!