为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:--05134284094-20231011-204277-20067 Pack2
【操作系统】:centos7
【CPU】:x86
【问题描述】*:第一个语句
SELECT count(1) AS dbCount
FROM jf_app_portal.jfzg_schdule a
WHERE a.STATUS = 0
AND a.platform = 'TEST_CLOUD'
AND a.deleted = 1
AND (job_handler_buid = 7234
OR job_handler_buid is null)
AND ((a.job_handler_type = '1'
AND a.job_handler = 5099 )
OR ( a.job_handler_type = '2'
AND a.job_handler IN ( 'GHFZC_JBR' ,'JLDW_JBR' )
)
)
第二个语句
SELECT count(1) AS dbCount
FROM jf_app_portal.jfzg_schdule a
WHERE a.STATUS = 0
AND a.platform = 'TEST_CLOUD'
AND a.deleted = 1
AND (job_handler_buid = 7234
OR job_handler_buid is null)
AND ((a.job_handler_type = '1'
AND a.job_handler = 5099 )
OR ( a.job_handler_type = '2'
AND a.job_handler IN ( 'GHFZC_JBR' ) ))
其中第一个语句报错,-4083: 引用列未找到
第二个语句执行正常。
两个语句只有in里面的条件不同
调整了sql顺序试了下。
SELECT count(1) AS dbCount
FROM jf_app_portal.jfzg_schdule a
WHERE
(
(a.job_handler_type = '1'
AND a.job_handler = 5099 )
OR
( a.job_handler_type = '2'
AND a.job_handler IN ( 'GHFZC_JBR' ,'JLDW_JBR' )
)
)
AND (job_handler_buid = 7234
OR job_handler_buid is null)
and a.STATUS = 0
AND a."DELETED" = 1
AND a.platform = 'TEST_CLOUD'
最后两行sql同时存在就报错,只有一个也是正常执行
报的是哪个列 未找到
jfzg_schdule 这个是视图吗?