qq_30505667 2017-11-12 05:25 采纳率: 0%
浏览 736
已结题

oracle查询语句 变成mysql 求各位前辈指导

select
de.plate_number,d1.dept_name deptName, d.dept_name, de.device_name,
decode(de.tech_status,1,'完好',2,'待修',3,'待报废'), decode(de.use_status,0,'停用',1,'在用',2,'已交'),
ceil(to_date('${end_date}','yyyy-MM-dd')+1-to_date('${start_date}','yyyy-MM-dd')) - RPT_RETURN_GZTJ(de.plate_number,'${start_date}','${end_date}') goodDays,
RPT_RETURN_GZTJ(de.plate_number,'${start_date}','${end_date}') fault_time,
nvl(rpt_return_sjkd(de.plate_number,'${start_date}','${end_date}'),0) real_drive,
trunc((ceil(to_date('${end_date}','yyyy-MM-dd')+1-to_date('${start_date}','yyyy-MM-dd')) - RPT_RETURN_GZTJ(de.plate_number,'${start_date}','${end_date}'))/ ceil(to_date('${end_date}','yyyy-MM-dd')+1-to_date('${start_date}','yyyy-MM-dd'))*100,2)|| '%' good_rate,
trunc(nvl(RPT_RETURN_SJKD(de.plate_number,'${start_date}','${end_date}'),0)/RPT_RETURN_JHKD(substr(de.device_code,1,2),'${start_date}','${end_date}')*100)|| '%' LY_lV,
trunc(RPT_RETURN_CCCS(de.plate_number,'${start_date}','${end_date}')/ceil(to_date('${end_date}','yyyy-MM-dd')+1-to_date('${start_date}','yyyy-MM-dd'))*100)|| '%' SY_lV,
RPT_RETURN_CCCS(de.plate_number,'${start_date}','${end_date}') cccs,
RPT_RETURN_CCCS_SJ(de.plate_number,'${start_date}','${end_date}') sjcccs,
nvl(sum(t.run_time),0),
nvl(sum(t.run_distance),0)
from device_info_t de
left join new_sheet_t t on de.plate_number = t.plate_number and t.car_leave_time >= to_date('${start_date}','yyyy-MM-dd')
and t.car_leave_time < to_date('${end_date}','yyyy-MM-dd')+1
left join dept_info_t d on de.use_dept_code = d.dept_code
left join dept_info_t d1 on d1.dept_code = de.belong_dept_code
where de.use_dept_code IN (SELECT T.DEPT_CODE FROM DEPT_INFO_T T START WITH T.DEPT_CODE='${dept_code}' CONNECT BY PRIOR T.DEPT_ID=T.DEPT_PARENT)
and de.device_name like '%车'
and de.use_status <> 2
group by de.plate_number,d1.dept_name, d.dept_name, de.device_name,de.device_code,
decode(de.tech_status,1,'完好',2,'待修',3,'待报废'), decode(de.use_status,0,'停用',1,'在用',2,'已交')
order by de.device_name,de.plate_number

  • 写回答

1条回答 默认 最新

  • qq_30505667 2017-11-12 05:27
    关注

    这是我自己改的 求大神指导一下

    SELECT
    de.plate_number,d1.dept_name deptName, d.dept_name, de.device_name,
    IF(de.tech_status=1,"完好", IF(de.tech_status=2,"待修","待报废")),
    IF(de.tech_status=0,"停用",IF(de.tech_status=1,"在用","已交")),

       CEIL(DATE_ADD(STR_TO_DATE('${end_date}','%y-%M-%d') ,INTERVAL 1 DAY)-to_date('${start_date}','%y-%M-%d')) -  RPT_RETURN_GZTJ(de.plate_number,'${start_date}','${end_date}')   goodDays,
    
       RPT_RETURN_GZTJ(de.plate_number,'${start_date}','${end_date}') fault_time,
    
       ISNULL (rpt_return_sjkd(de.plate_number,'${start_date}','${end_date}'),0) real_drive,
    
     CONCAT(SUBSTRING((CEIL (DATE_ADD(STR_TO_DATE ('${end_date}',' %y-%M-%d ') ,INTERVAL 1 DAY)) - STR_TO_DATE ('${start_date}','%y-%M-%d')) - 
    

    RPT_RETURN_GZTJ(de.plate_number,'${start_date}','${end_date}')/
    CEIL(DATE_ADD(STR_TO_DATE ('${end_date}','%y-%M-%d'),INTERVAL 1 DAY)-STR_TO_DATE('${start_date}','%y-%M-%d'))*100,2),
    '%') good_rate, CONCAT(SUBSTRING(IFNULL(RPT_RETURN_SJKD(de.plate_number,'${start_date}','${end_date}'),0)/RPT_RETURN_JHKD(SUBSTRING(de.device_code,1,2),'${start_date}','${end_date}')*100),'%') LY_lV,
    CONCAT(SUBSTRING(RPT_RETURN_CCCS(de.plate_number,'${start_date}','${end_date}')/CEIL(DATE_ADD(STR_TO_DATE ('${end_date}','%y-%M-%d'),INTERVAL 1 DAY)-STR_TO_DATE('${start_date}','%y-%M-%d'))*100)
    ,'%') SY_lV,RPT_RETURN_CCCS(de.plate_number,'${start_date}','${end_date}') cccs,RPT_RETURN_CCCS_SJ(de.plate_number,'${start_date}','${end_date}') sjcccs,IFNULL(SUM(t.run_time),0),IFNULL(SUM(t.run_distance),0) FROM equ_device_account de
    LEFT JOIN ljl_new_sheet_t t ON de.plate_number = t.plate_number AND t.car_leave_time >= to_date('${start_date}','%y-%M-%d')
    AND t.car_leave_time < to_date('${end_date}','%y-%M-%d')+1
    LEFT JOIN cqms_dept_info_t d ON de.use_dept_code = d.dept_code
    LEFT JOIN cqms_dept_info_t d1 ON d1.dept_code = de.belong_dept_code
    WHERE de.use_dept_code IN

    (SELECT DISTINCT e.BIANMA
    FROM oa_department a
    INNER JOIN oa_department b ON a.DEPARTMENT_ID=b.PARENT_ID OR a.DEPARTMENT_ID=b.DEPARTMENT_ID
    INNER JOIN oa_department c ON b.DEPARTMENT_ID=c.PARENT_ID OR b.DEPARTMENT_ID=c.DEPARTMENT_ID
    INNER JOIN oa_department d ON c.DEPARTMENT_ID=d.PARENT_ID OR c.DEPARTMENT_ID=d.DEPARTMENT_ID
    INNER JOIN oa_department e ON d.DEPARTMENT_ID=e.PARENT_ID OR d.DEPARTMENT_ID=e.DEPARTMENT_ID
    WHERE 1=1 #${IF(len(dept_code) ==0 || dept_code =='0' || dept_code =='1',"","and a.DEPARTMENT_ID = ('" + dept_code + "')")})

    AND de.device_name LIKE '%车'
    AND de.use_status <> 2
    GROUP BY de.plate_number,d1.dept_name, d.dept_name, de.device_name,de.device_code,
    IF(de.tech_status=1,"完好",IF(de.tech_status=2,"待修",IF(de.tech_status=3,"待报废") ) ),
    IF(de.tech_status=0,"停用",IF(de.tech_status=1,"在用",IF(de.tech_status=2,"已交"))) ORDER BY de.device_name,de.plate_number

    评论

报告相同问题?

悬赏问题

  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容