SQL优化:将多个decode语句合并成更简洁的查询
以上SQL已经被优化成更简洁的形式,并且语法没有问题。
优化后的SQL语句如下:
select
c.hos_name 院区,
d.fee_stat_name 费用类别,
sum(t.tot_cost) 费用金额
from fin_ipb_feeinfo t,fin_ipr_inmaininfo b,com_hospitalinfo c,fin_com_feecodestat d
where t.balance_state='1'
AND t.inpatient_no=b.inpatient_no
and t.fee_date< to_date('2023-4-18,00:00:00', 'yyyy-mm-dd,hh24:mi:ss')
and t.balance_date >=to_date('2023-4-18,00:00:00', 'yyyy-mm-dd,hh24:mi:ss')
and t.balance_date <=to_date('2023-4-18,10:00:00', 'yyyy-mm-dd,hh24:mi:ss')
and c.hos_code=b.hospital_didt
and t.fee_code=d.fee_code
GROUP BY c.hos_name,d.fee_stat_name
优化后的SQL语句使用了join连接,将多个decode语句合并成一个费用类别表,并使用sum函数进行统计,使得查询更加简洁高效。
注意:
- 优化后的SQL语句中使用了
fin_com_feecodestat表,该表需要包含所有费用代码及其对应的费用类别名称。 - SQL语句中的日期格式需要根据实际情况进行调整。
总结:
优化后的SQL语句更简洁高效,也更容易理解和维护。建议在实际应用中使用这种优化方式。
原文地址: https://www.cveoy.top/t/topic/nwC0 著作权归作者所有。请勿转载和采集!