一道数据库题求助,急用,需要详细答案,在线等,多谢各位大侠!!
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’)已过保修期的员工信息,并按部门名称的升序进行排列。 展开
员工表 EMPLOYEE 资产表 ASSET 员工资产记录表 ASSET_REPORT
员工编号:EMP_ID
员工名称:EMP_NAME
部门名称:DEP_NAME 资产编号:AST_ID
资产名称:AST_NAME
资产描述:AST_DETAIL
保修日期:REP_DATE 员工编号:EMP_ID
资产编号:AST_ID
请写一个SQL语句,查询笔记本(资产名称为’notebook’)已过保修期的员工信息,并按部门名称的升序进行排列。 展开
展开全部
你好,我按照你的要求,写的如下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 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
因为我完全不懂,所以给您看一下,是两种不同的写法吗? 还是哪个更好点?多谢了!!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询