注册

MYSQL数据库迁移SQL语法错误(除法计算)

求学 2024/11/25 336 5 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:Linux
【CPU】:8
【问题描述】*:
SQL语法错误,如下图:
image.png
该如何调整?

			SELECT a1.ID AS ID,
			a1.SXR AS SXR,
			a1.TITLE AS TITLE,
			a1.PXRQ AS PXRQ,
			a1.pxsj AS pxsj,
			a1.PXDD AS PXDD,
			a1.ZZR AS ZZR,
			a1.KHFS AS KHFS,
			a1.PXFS AS PXFS,
			a1.SKR AS SKR,
			a1.SFKH AS SFKH,
			a1.KHR AS KHR,
			a1.PXNR AS PXNR,
			a1.SFTX AS SFTX,
			a1.NODENAME AS NODENAME,
			a1.passPercent,
			a1.intimePercent,
		  a1.bbh	
		FROM
			(
			SELECT
				t2.ID AS ID,
				t2.SXR AS SXR,
				t2.TITLE AS TITLE,
				t2.PXRQ AS PXRQ,
				t2.pxsj AS pxsj,
				t2.PXDD AS PXDD,
				t2.ZZR AS ZZR,
				t2.KHFS AS KHFS,
				t2.PXFS AS PXFS,
				t2.SKR AS SKR,
				t2.SFKH AS SFKH,
				t2.KHR AS KHR,
				t2.PXNR AS PXNR,
				t2.SFTX AS SFTX,
				t3.NODENAME AS NODENAME,
			CASE
					
					WHEN t2.passPercent IS NULL THEN
					'0%' ELSE t2.passPercent 
				END AS passPercent,
			CASE
					
					WHEN t2.intimePercent IS NULL THEN
					'0%' ELSE t2.intimePercent 
				END AS intimePercent,
			  t3.bbh as bbh	
			FROM
				(
				SELECT
					jl.ID AS ID,
					jl.SXR AS SXR,
					jl.TITLE AS TITLE,
					concat_ws( ' - ', substring( jl.pxkssj, 1, 10 ), substring( jl.pxjssj, 1, 10 ) ) AS PXRQ,
					jl.pxkssj AS pxsj,
					jl.PXDD AS PXDD,
					jl.ZZR AS ZZR,
					jl.KHFS AS KHFS,
					jl.PXFS AS PXFS,
					jl.SKR AS SKR,
					jl.SFKH AS SFKH,
					jl.KHR AS KHR,
					jl.PXNR AS PXNR,
					jl.SFTX AS SFTX,
					( ( LENGTH( jl.sxr ) - LENGTH( REPLACE ( jl.sxr, ';', '' ) ) ) + 1 ) AS abc,
				concat(
					round(
						round(
							hg.hgrs / ( ( LENGTH( jl.sxr ) - LENGTH( REPLACE ( jl.sxr, ';', '' ) ) ) + 1 ),
							2 
						) * 100,
						0 
					),
					'%' 
				) AS passPercent,
				concat(
					round(
						round(
							js.jsrs / ( ( LENGTH( jl.sxr ) - LENGTH( REPLACE ( jl.sxr, ';', '' ) ) ) + 1 ),
							2 
						) * 100,
						0 
					),
					'%' 
				) AS intimePercent 
				FROM
					T_APP_PXGL_PXJL jl
					LEFT JOIN -- 考试合格人数
					(
					SELECT
						count( 1 ) AS hgrs,
						ry.PARENTID AS pxjlid 
					FROM
						t_app_pxgl_ncxry ry 
					WHERE
						CAST( khjg AS SIGNED ) >= CAST( hgfs AS SIGNED ) 
						AND hgfs != "" 
					GROUP BY
						ry.PARENTID 
					) hg ON hg.pxjlid = jl.id
					LEFT JOIN -- 培训及时人数
					(
					SELECT
						count( 1 ) AS jsrs,
						ry.PARENTID AS pxjlid 
					FROM
						tr_app_pxkc gx,
						t_app_pxgl_ncxry ry 
					WHERE
						ry.PARENTID = gx.parentid 
						AND ry.submittime != "" 
						AND ry.submittime <= gx.ydsx 
					GROUP BY
						ry.PARENTID 
					) js ON js.pxjlid = jl.id 
				) t2,
				(
				SELECT DISTINCT
					D.ID,
					A.ID AS WORKID,
					A.CREATED,
					E.NODENAME,
				  F.bbh
				FROM
					t_app_pxgl_pxjl D
					LEFT JOIN TDR_HORIZON_PAGE_DATA B ON B.FORM_DATA_ID = D.ID
					LEFT JOIN TWR_HZ_INSTANCE C ON C.DATAID = B.DATA_ID
					LEFT JOIN (SELECT * FROM TW_HZ_INSTANCE WHERE FLOWID = 'FQPX' ) A ON A.ID = C.WORKID
					LEFT JOIN TW_HZ_TRACK E ON A.ID = E.WORKID
				  left join t_app_pxkcgl_pxkc F on F.id = D.kcid 
				) t3 
			WHERE
				t2.id = t3.id 
				and LOCATE('hz{userid}',t2.sxr) > 0
				UNION ALL
			SELECT
				wb.id,
				ncxry,
				pxzt,
				concat_ws( ' - ', pxsjap, enddate ) AS pxsjap,
				pxsjap AS pxsj,
				pxdd,
				skrzzdw AS zzr,
				'' AS khfs,
				'外部线下培训' AS pxfs,
				skrzzdw AS skr,
				'' AS sfkh,
				'' AS khr,
				pxzt,
				'' AS sftx,
				t5.nodename,
				'N/A' AS passPercent,
				'N/A' AS intimePercent,
			  '' as bbh
			FROM
				wbpx wb,
				(
				SELECT DISTINCT
					D.ID,
					A.ID AS WORKID,
					A.CREATED,
					E.NODENAME 
				FROM
					wbpx D
					LEFT JOIN TDR_HORIZON_PAGE_DATA B ON B.FORM_DATA_ID = D.ID
					LEFT JOIN TWR_HZ_INSTANCE C ON C.DATAID = B.DATA_ID
					LEFT JOIN (SELECT * FROM TW_HZ_INSTANCE WHERE FLOWID = 'WBPX' ) A ON A.ID = C.WORKID
					LEFT JOIN TW_HZ_TRACK E ON A.ID = E.WORKID 
				) t5 
			WHERE
				wb.id = t5.id 
				and LOCATE('hz{userid}',wb.ncxry) > 0
			) a1 
			order by a1.pxsj desc

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