SELECT
zy.zyh AS 住院号,
zy.xm AS 姓名,
zy.nl||f_getsjzd(zy.nldwid) AS 年龄,
f_getbmmc(zy.ryksid) AS 入院科室,f_getbmmc(zy.dqksid) AS 出院科室 ,zy.ryrq AS 入院时间,zy.cyrq AS 出院日期, f_getryxm( zy.zyys) AS 住院医师,
DECODE( cb.sfsslcljgl,1,'未填写',0,'否',2,'中医',NULL,'未填写','西医') AS 是否实施临床路径管理,
DECODE( cb.sfwclclj,1,'是',0,'否','未填写') AS 是否完成临床路径管理,
DECODE( cb.sfby,1,'是',0,'否','未填写') AS 是否变异
FROM lcyhgl_bazy zy , lcyhgl_bazycb cb
WHERE zy.id = cb.bazyid
AND zy.cyrq<='2021-11-30 23:59:59'
AND zy.zt IN(1,3)
ORDER BY zy.ryrq ASC
这个语句查询只需要0.7秒,但是加入了嵌套语句,查询时间6分多钟,请问是我写的语句有问题吗?
SELECT
zy.zyh AS 住院号,
zy.xm AS 姓名,
zy.nl||f_getsjzd(zy.nldwid) AS 年龄,
NVL((SELECT jbbm FROM lcyhgl_brzdjl WHERE zyh = zy.zyh AND zdlx = 331 AND xh = 1 AND ROWNUM = 1),'-') AS 入院诊断编码,
NVL((SELECT zdms FROM lcyhgl_brzdjl WHERE zyh = zy.zyh AND zdlx = 331 AND xh = 1 AND ROWNUM = 1),'-') AS 入院诊断名称,
NVL((SELECT jbbm FROM lcyhgl_brzdjl WHERE zyh = zy.zyh AND zdlx = 478 AND xh = 1),'-') AS 出院诊断编码,
NVL((SELECT zdms FROM lcyhgl_brzdjl WHERE zyh = zy.zyh AND zdlx = 478 AND xh = 1),'-') AS 出院诊断名称,
f_getbmmc(zy.ryksid) AS 入院科室,f_getbmmc(zy.dqksid) AS 出院科室 ,zy.ryrq AS 入院时间,zy.cyrq AS 出院日期, f_getryxm( zy.zyys) AS 住院医师,
DECODE( cb.sfsslcljgl,1,'未填写',0,'否',2,'中医',NULL,'未填写','西医') AS 是否实施临床路径管理,
DECODE( cb.sfwclclj,1,'是',0,'否','未填写') AS 是否完成临床路径管理,
DECODE( cb.sfby,1,'是',0,'否','未填写') AS 是否变异
FROM lcyhgl_bazy zy , lcyhgl_bazycb cb
WHERE zy.id = cb.bazyid
AND zy.cyrq<='2021-11-30 23:59:59'
AND zy.zt IN(1,3)
AND zy.dqksid<>302
ORDER BY zy.ryrq ASC