一道数据库题求助,急用,需要详细答案,在线等,多谢各位大侠!!

2、数据库中有三个表:员工表EMPLOYEE资产表ASSET员工资产记录表ASSET_REPORT员工编号:EMP_ID员工名称:EMP_NAME部门名称:DEP_NAM... 2、 数据库中有三个表:
员工表 EMPLOYEE 资产表 ASSET 员工资产记录表 ASSET_REPORT
员工编号:EMP_ID
员工名称:EMP_NAME
部门名称:DEP_NAME 资产编号:AST_ID
资产名称:AST_NAME
资产描述:AST_DETAIL
保修日期:REP_DATE 员工编号:EMP_ID
资产编号:AST_ID

请写一个SQL语句,查询笔记本(资产名称为’notebook’)已过保修期的员工信息,并按部门名称的升序进行排列。
展开
 我来答
lylegend13
2011-10-31 · TA获得超过4696个赞
知道大有可为答主
回答量:1701
采纳率:0%
帮助的人:1714万
展开全部
你好,我按照你的要求,写的如下SQL语句:

select * from EMPLOYEE having EMP_ID in (select EMP_ID from ASSET,ASSET_REPORT where ASSET.AST_ID=ASSET_REPORT.AST_ID and getDate()>REP_DATE and AST_NAME='notebook') by DEP_NAME asc

简单解释下,(...)里的是获得满足是笔记本、且已过期的员工ID,在外面一层是获得这些ID属于的员工信息,并按部门编号排序
更多追问追答
追问
您好!首先非常感谢您的帮助!万分感谢! 另外我问了一个朋友,他刚才给的答案是这样的

select * from EMPLOYEE where AST_NAME=’notebook’ and datediff(day,getdate(),REP_DATE)>0 order by DEP_NAME asc

因为我完全不懂,所以给您看一下,是两种不同的写法吗? 还是哪个更好点?多谢了!!
您好!首先非常感谢您的帮助!万分感谢! 另外我问了一个朋友,他刚才给的答案是这样的

select * from EMPLOYEE where AST_NAME=’notebook’ and datediff(day,getdate(),REP_DATE)>0 order by DEP_NAME asc

因为我完全不懂,所以给您看一下,是两种不同的写法吗? 还是哪个更好点?多谢了!!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式