首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求高手^SQL题解决方案

2012-01-22 
求高手^^^^^^^^^^^^^^^^^^^^SQL题表1DeviceNODeviceNameCatalogNO--------------------------------------

求高手^^^^^^^^^^^^^^^^^^^^SQL题
表1    
DeviceNO                                                         DeviceName                                                 CatalogNO    
---------------------     -----------------------------------    
B0001                                                                     笔记本                                                                             10001    
D0001                                                                     打印机                                                                             10001    
T0001                                                                     台式机                                                                             10001    
T0002                                                                     投影机                                                                             10001    
 
表2    
DeviceNO                                                         ApplyUseID     ApplyReturnID    
---------------------     ----------     -------------    
B0001                                                                     1001                             1003                            
T0001                                                                     1002                             NULL    


 
表3    
ApplyID                         ApplyUserName             ApplyDatetime                                         ApplyFlag    
----------------------     -----------------------     -----------     -----------    
1001                                 张三                                         2004-05-15     00:00:00.000                             0    
1002                                     李四                                     2006-01-01     00:00:00.000                                 0    
1003                                     张三                                     2004-06-16     00:00:00.000                                 1    
 
 
结果如下图所示(注意,当前状态是根据         表2中     ApplyReturnID字段是否为空作判断的)    
 
  资产编号     资产名称         领用时间               归还时间             使用者                 当前状态        
  B0001             笔记本         2004-05-15           2004-06-16             张三                     已归还  
  T0001           台式机         2006-01-01             null             李四                           使用中  
 


[解决办法]
select
a.DeviceNO as 资产编号,
a.DeviceName as 资产名称,
c.ApplyDatetime as 领用时间,
d.ApplyDatetime as 归还时间,
c.ApplyUserName as 使用者 ,
(case when b.ApplyReturnID is null then '使用中 ' else '已归还 ' end) as 当前状态
from
表1 a
inner join
表2 b
on
a.DeviceNO=b.DeviceNO
inner join
表3 c
on
b.ApplyUseID=c.ApplyUseID
left join
表3 d
on
b.ApplyReturnID=d.ApplyUseID

热点排行
Bad Request.