sql复杂查询语句

1.描述:

                      在数据库中使用sql语句查询数据,常常需要做报表和统计分析。难免需要做很多的复杂查询。

    解决方案:

                       调用数据库的自带函数(我用的是mysql的函数)来查询(函数中嵌套函数来实现复杂查询)

 

2.实例:

 

求差函数:   sum           

       

函数嵌套函数查询:(使用timestampdiff函数查询2002-01-01到现在(2019-04-08 12:00:00 )相差了多少天)

select timestampdiff(day ,'2002-01-01',x) as timeDiff from (select NOW() as x) a;

 

 

 

注释:

select timestampdiff(day ,nowTime,abledTime) as ltimeDiff from (select NOW() as nowTime) as f,(

select  SP_REGISTRATION_DATE as abledTime  from sys_supplies where SP_LICENCE_NUMBER='粤食药监械生产许20142525号' and SP_REGISTRATION_DATE-(select NOW())>0
  
) as bb;

 

 

 

select ltimeDiff as 证书有效天数,count(*)有效证书的个数 from 



(select timestampdiff(day ,nowTime,abledTime) as ltimeDiff from (select NOW() as nowTime) as f,(
 
 select  SP_REGISTRATION_DATE as abledTime  from sys_supplies where SP_LICENCE_NUMBER='粤食药监械生产许20142525号' and SP_REGISTRATION_DATE-(select NOW())>0
   
 ) as bb) as ableDayTable



 group by ltimeDiff

 

 

 

select sys_supplies.sp_wz_name as 耗材名称,sys_order.EXEC_DEPT_NAME as 科室名称 from
   sys_supplies,sys_order,sys_rfid,sys_order_item,sys_apply_setting
       where sys_order.id=sys_order_item.OD_ID and sys_rfid.id=sys_order_item.R_ID and sys_supplies.ID=sys_rfid.SP_ID 
                  and sys_apply_setting.SP_ID=sys_supplies.ID 

 

 

 

select sys_supplies.SP_GENERICNAME as suppliesName,sys_hospital.H_NAME as hDeptName

from sys_supplies,sys_rfid,sys_apply_setting,sys_hospital

where
sys_supplies.ID=sys_rfid.SP_ID
and sys_apply_setting.SP_ID=sys_supplies.ID
AND sys_apply_setting.O_ID=sys_hospital.ID
and sys_hospital.H_FINDLEVEL=3 and sys_rfid.RSP_NUM <sys_apply_setting.AS_SP_WARNING_NUM
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值