注册

使用in查询,报错-4083: 引用列未找到

DM_999589 2023/12/16 684 6 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【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同时存在就报错,只有一个也是正常执行

回答 0
暂无回答
扫一扫
联系客服